diff options
Diffstat (limited to 'upstream/debian-unstable/man3/SSL_get_error.3ssl')
-rw-r--r-- | upstream/debian-unstable/man3/SSL_get_error.3ssl | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/upstream/debian-unstable/man3/SSL_get_error.3ssl b/upstream/debian-unstable/man3/SSL_get_error.3ssl index e01d2f02..61e6c276 100644 --- a/upstream/debian-unstable/man3/SSL_get_error.3ssl +++ b/upstream/debian-unstable/man3/SSL_get_error.3ssl @@ -55,7 +55,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_ERROR 3SSL" -.TH SSL_GET_ERROR 3SSL 2024-02-03 3.1.5 OpenSSL +.TH SSL_GET_ERROR 3SSL 2024-04-04 3.2.2-dev OpenSSL .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -114,8 +114,8 @@ is set. See \fBSSL_CTX_set_options\fR\|(3) for more details. .IX Item "SSL_ERROR_WANT_READ, SSL_ERROR_WANT_WRITE" The operation did not complete and can be retried later. .Sp -\&\fBSSL_ERROR_WANT_READ\fR is returned when the last operation was a read -operation from a nonblocking \fBBIO\fR. +For non-QUIC SSL objects, \fBSSL_ERROR_WANT_READ\fR is returned when the last +operation was a read operation from a nonblocking \fBBIO\fR. It means that not enough data was available at this time to complete the operation. If at a later time the underlying \fBBIO\fR has data available for reading the same @@ -126,9 +126,10 @@ still unprocessed data available at either the \fBSSL\fR or the \fBBIO\fR layer, for a blocking \fBBIO\fR. See \fBSSL_read\fR\|(3) for more information. .Sp -\&\fBSSL_ERROR_WANT_WRITE\fR is returned when the last operation was a write -to a nonblocking \fBBIO\fR and it was unable to sent all data to the \fBBIO\fR. -When the \fBBIO\fR is writable again, the same function can be called again. +For non-QUIC SSL objects, \fBSSL_ERROR_WANT_WRITE\fR is returned when the last +operation was a write to a nonblocking \fBBIO\fR and it was unable to send all data +to the \fBBIO\fR. When the \fBBIO\fR is writable again, the same function can be +called again. .Sp Note that the retry may again lead to an \fBSSL_ERROR_WANT_READ\fR or \&\fBSSL_ERROR_WANT_WRITE\fR condition. @@ -136,6 +137,15 @@ There is no fixed upper limit for the number of iterations that may be necessary until progress becomes visible at application protocol level. .Sp +For QUIC SSL objects, the meaning of \fBSSL_ERROR_WANT_READ\fR and +\&\fBSSL_ERROR_WANT_WRITE\fR have different but largely compatible semantics. Since +QUIC implements its own flow control and uses UDP datagrams, backpressure +conditions in terms of the underlying BIO providing network I/O are not directly +relevant to the circumstances in which these errors are produced. In particular, +\&\fBSSL_ERROR_WANT_WRITE\fR indicates that the OpenSSL internal send buffer for a +given QUIC stream has been filled. Likewise, \fBSSL_ERROR_WANT_READ\fR indicates +that the OpenSSL internal receive buffer for a given QUIC stream is empty. +.Sp It is safe to call \fBSSL_read()\fR or \fBSSL_read_ex()\fR when more data is available even when the call that set this error was an \fBSSL_write()\fR or \fBSSL_write_ex()\fR. However, if the call was an \fBSSL_write()\fR or \fBSSL_write_ex()\fR, it should be called |