131 references to TlsOperationStatus
System.Net.Security (131)
System\Net\Security\TlsBufferSession.cs (7)
21
/// <see cref="
TlsOperationStatus
.NeedsTlsContext"/> so the caller can supply the
36
public
TlsOperationStatus
Handshake(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten)
47
public
TlsOperationStatus
Write(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten)
58
public
TlsOperationStatus
Read(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten)
66
public
TlsOperationStatus
Shutdown(Span<byte> destination, out int bytesWritten)
74
public
TlsOperationStatus
DrainPendingOutput(Span<byte> destination, out int bytesWritten)
84
public
TlsOperationStatus
RequestClientCertificate(Span<byte> destination, out int bytesWritten)
System\Net\Security\TlsContext.cs (2)
119
/// <see cref="
TlsOperationStatus
.NeedsTlsContext"/> with
156
/// returns <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and the caller
System\Net\Security\TlsSession.cs (101)
41
/// Contract: any operation may return <see cref="
TlsOperationStatus
.DestinationTooSmall"/>
310
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/>). The certificates are
330
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and before
407
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and the next
604
/// session that suspended with <see cref="
TlsOperationStatus
.NeedsTlsContext"/>
611
/// <see cref="
TlsOperationStatus
.NeedsTlsContext"/> and the passed context is
688
/// <see cref="
TlsOperationStatus
.CertificateRequested"/>: callers that need to
725
/// is suspended on <see cref="
TlsOperationStatus
.CertificateRequested"/> so the caller can
820
private protected
TlsOperationStatus
HandshakeBufferedCore(
848
return
TlsOperationStatus
.NeedsCertificateValidation;
854
return
TlsOperationStatus
.NeedsTlsContext;
864
return
TlsOperationStatus
.Complete;
874
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
896
return
TlsOperationStatus
.NeedMoreData;
907
return
TlsOperationStatus
.NeedMoreData;
944
return
TlsOperationStatus
.NeedMoreData;
958
return
TlsOperationStatus
.NeedsTlsContext;
969
return
TlsOperationStatus
.NeedMoreData;
1078
return
TlsOperationStatus
.DestinationTooSmall;
1106
return
TlsOperationStatus
.DestinationTooSmall;
1113
?
TlsOperationStatus
.NeedsCertificateValidation
1114
:
TlsOperationStatus
.Complete;
1119
return
TlsOperationStatus
.NeedsCertificateValidation;
1124
return
TlsOperationStatus
.CertificateRequested;
1136
return
TlsOperationStatus
.Complete;
1139
return
TlsOperationStatus
.NeedMoreData;
1147
private protected
TlsOperationStatus
WriteBufferedCore(
1166
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1171
return
TlsOperationStatus
.Complete;
1212
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1217
private protected
TlsOperationStatus
ReadBufferedCore(
1236
return
TlsOperationStatus
.DestinationTooSmall;
1297
return
TlsOperationStatus
.Complete;
1302
return
TlsOperationStatus
.Closed;
1322
return
TlsOperationStatus
.Complete;
1337
private
TlsOperationStatus
TryDrainBufferedPlaintext(Span<byte> plaintext, out int bytesWritten)
1343
return
TlsOperationStatus
.NeedMoreData;
1359
return
TlsOperationStatus
.NeedMoreData;
1365
return
TlsOperationStatus
.NeedMoreData;
1384
return
TlsOperationStatus
.Complete;
1406
private protected
TlsOperationStatus
RequestClientCertificateBufferedCore(Span<byte> ciphertext, out int bytesWritten)
1452
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1466
/// Returns <see cref="
TlsOperationStatus
.DestinationTooSmall"/> if the caller must
1468
/// otherwise <see cref="
TlsOperationStatus
.Closed"/> once all bytes have
1471
private protected
TlsOperationStatus
ShutdownBufferedCore(Span<byte> ciphertext, out int bytesWritten)
1478
return
TlsOperationStatus
.Closed;
1532
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Closed;
1537
private protected
TlsOperationStatus
DrainPendingOutputCore(Span<byte> ciphertext, out int bytesWritten)
1541
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1936
private protected
TlsOperationStatus
HandshakeSocketCore()
1944
return
TlsOperationStatus
.Complete;
1947
TlsOperationStatus
? fast = null;
1972
return
TlsOperationStatus
.DestinationTooSmall;
1978
TlsOperationStatus
status = HandshakeBufferedCore(
2007
return
TlsOperationStatus
.DestinationTooSmall;
2015
case
TlsOperationStatus
.Complete:
2016
return
TlsOperationStatus
.Complete;
2018
case
TlsOperationStatus
.NeedMoreData:
2032
return
TlsOperationStatus
.NeedMoreData;
2036
return
TlsOperationStatus
.Closed;
2040
case
TlsOperationStatus
.DestinationTooSmall:
2055
private protected
TlsOperationStatus
ReadSocketCore(Span<byte> buffer, out int bytesRead)
2066
TlsOperationStatus
? fast = null;
2079
TlsOperationStatus
status = ReadBufferedCore(
2092
if (status ==
TlsOperationStatus
.Complete && produced > 0)
2094
return
TlsOperationStatus
.Complete;
2096
if (status ==
TlsOperationStatus
.Closed)
2098
return
TlsOperationStatus
.Closed;
2100
if (status ==
TlsOperationStatus
.Complete && produced == 0)
2105
if (status !=
TlsOperationStatus
.NeedMoreData)
2124
return
TlsOperationStatus
.NeedMoreData;
2128
return
TlsOperationStatus
.Closed;
2134
private protected
TlsOperationStatus
WriteSocketCore(ReadOnlySpan<byte> buffer, out int bytesWritten)
2145
TlsOperationStatus
? fast = null;
2159
return
TlsOperationStatus
.DestinationTooSmall;
2167
return
TlsOperationStatus
.Complete;
2176
TlsOperationStatus
encStatus = WriteBufferedCore(
2202
return
TlsOperationStatus
.DestinationTooSmall;
2208
if (encStatus ==
TlsOperationStatus
.DestinationTooSmall)
2212
return
TlsOperationStatus
.DestinationTooSmall;
2214
if (encStatus !=
TlsOperationStatus
.Complete)
2227
return
TlsOperationStatus
.Complete;
2237
private
TlsOperationStatus
DriveBufferedOpOverSocket(Func<Span<byte>, (
TlsOperationStatus
status, int written)> op)
2249
return
TlsOperationStatus
.DestinationTooSmall;
2258
(
TlsOperationStatus
status, int written) = op(scratch);
2276
return
TlsOperationStatus
.DestinationTooSmall;
2289
private protected
TlsOperationStatus
ShutdownSocketCore()
2292
TlsOperationStatus
s = ShutdownBufferedCore(dest, out int w);
2296
private protected
TlsOperationStatus
RequestClientCertificateSocketCore()
2299
TlsOperationStatus
s = RequestClientCertificateBufferedCore(dest, out int w);
2308
partial void TryFastHandshake(ref
TlsOperationStatus
? result);
2309
partial void TryPeekClientHello(ref
TlsOperationStatus
? result);
2310
partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref
TlsOperationStatus
? result);
2311
partial void TryFastWrite(ReadOnlySpan<byte> buffer, ref int bytesWritten, ref
TlsOperationStatus
? result);
System\Net\Security\TlsSession.OpenSsl.cs (16)
112
partial void TryPeekClientHello(ref
TlsOperationStatus
? result)
124
result =
TlsOperationStatus
.NeedsTlsContext;
145
result =
TlsOperationStatus
.NeedMoreData;
173
result =
TlsOperationStatus
.NeedsTlsContext;
217
partial void TryFastHandshake(ref
TlsOperationStatus
? result)
229
result =
TlsOperationStatus
.Complete;
235
partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref
TlsOperationStatus
? result)
244
result =
TlsOperationStatus
.Complete;
253
result =
TlsOperationStatus
.Complete;
259
partial void TryFastWrite(ReadOnlySpan<byte> buffer, ref int bytesWritten, ref
TlsOperationStatus
? result)
268
result =
TlsOperationStatus
.Complete;
277
result =
TlsOperationStatus
.Complete;
303
private static
TlsOperationStatus
MapSslError(Interop.Ssl.SslErrorCode error, int result, string sslErrorTemplate)
307
Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_READ =>
TlsOperationStatus
.NeedMoreData,
308
Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_WRITE =>
TlsOperationStatus
.DestinationTooSmall,
309
Interop.Ssl.SslErrorCode.SSL_ERROR_ZERO_RETURN =>
TlsOperationStatus
.Closed,
System\Net\Security\TlsSocketSession.cs (5)
42
public
TlsOperationStatus
Handshake() => HandshakeSocketCore();
45
public
TlsOperationStatus
Read(Span<byte> buffer, out int bytesRead)
49
public
TlsOperationStatus
Write(ReadOnlySpan<byte> buffer, out int bytesWritten)
53
public
TlsOperationStatus
Shutdown() => ShutdownSocketCore();
56
public
TlsOperationStatus
RequestClientCertificate() => RequestClientCertificateSocketCore();