QUIC: Document how blocking mode is automatically turned off
authorHugo Landau <hlandau@openssl.org>
Mon, 9 Jan 2023 11:31:07 +0000 (11:31 +0000)
committerHugo Landau <hlandau@openssl.org>
Fri, 13 Jan 2023 13:20:36 +0000 (13:20 +0000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19703)

doc/man3/SSL_set_bio.pod
doc/man3/SSL_set_blocking_mode.pod

index 44c69ef21ebc96e951ed34daaf253a08b62dbc68..121a955a3ee4701ad77c23f9b6b5cfda02be19f4 100644 (file)
@@ -86,6 +86,12 @@ reference is consumed for the B<wbio>.
 Because of this complexity, this function should be avoided;
 use SSL_set0_rbio() and SSL_set0_wbio() instead.
 
+Where a new BIO is set on a QUIC connection SSL object, blocking mode will be
+disabled on that SSL object if the BIO cannot support blocking mode. If another
+BIO is subsequently set on the SSL object which can support blocking mode,
+blocking mode will not be automatically re-enabled. For more information, see
+L<SSL_set_blocking_mode(3)>.
+
 =head1 RETURN VALUES
 
 SSL_set_bio(), SSL_set0_rbio() and SSL_set0_wbio() cannot fail.
index 98a195143eac0b8ce16600fe8e0f079f634c5001..ce4f3db96c6839a343c249ff4a9d34c4b6715330 100644 (file)
@@ -39,6 +39,11 @@ Where a QUIC connection SSL object is used in nonblocking mode, an application
 is responsible for ensuring that the SSL object is ticked regularly; see
 L<SSL_tick(3)>.
 
+Blocking mode is disabled automatically if the application provides a QUIC
+connection SSL object with a network BIO which cannot support blocking mode. To
+re-enable blocking mode in this case, an application must set a network BIO
+which can support blocking mode and explicitly call SSL_set_blocking_mode().
+
 =head1 RETURN VALUES
 
 SSL_set_blocking_mode() returns 1 on success and 0 on failure. The function