From: Hugo Landau Date: Mon, 9 Jan 2023 11:31:07 +0000 (+0000) Subject: QUIC: Document how blocking mode is automatically turned off X-Git-Tag: openssl-3.2.0-alpha1~1461 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6b653535f4a0513a1a3710e095411cd45723080;p=thirdparty%2Fopenssl.git QUIC: Document how blocking mode is automatically turned off Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/19703) --- diff --git a/doc/man3/SSL_set_bio.pod b/doc/man3/SSL_set_bio.pod index 44c69ef21eb..121a955a3ee 100644 --- a/doc/man3/SSL_set_bio.pod +++ b/doc/man3/SSL_set_bio.pod @@ -86,6 +86,12 @@ reference is consumed for the B. 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. + =head1 RETURN VALUES SSL_set_bio(), SSL_set0_rbio() and SSL_set0_wbio() cannot fail. diff --git a/doc/man3/SSL_set_blocking_mode.pod b/doc/man3/SSL_set_blocking_mode.pod index 98a195143ea..ce4f3db96c6 100644 --- a/doc/man3/SSL_set_blocking_mode.pod +++ b/doc/man3/SSL_set_blocking_mode.pod @@ -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. +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