]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Clarify processing of CRYPTO frame in SSL_set_quic_tls_cbs(3ossl)
authorAlexandr Nedvedicky <sashan@openssl.org>
Wed, 5 Nov 2025 07:24:59 +0000 (08:24 +0100)
committerTomas Mraz <tomas@openssl.org>
Mon, 10 Nov 2025 20:20:43 +0000 (21:20 +0100)
We should remind 3rd-party QUIC stack implementors their QUIC stack
must ensure to provide all CRYPTO frames to OpeNSSL/TLS for processing.
The CRYPTO frames keeping coming even after confirmation of TLS
hanndshake.

Fixes #28963

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29070)

doc/man3/SSL_set_quic_tls_cbs.pod

index 75d217bdeaa6945da4884ad077d5e2d4a8511fa2..65dab1d974b4b3ce780ccd89aefac03cd86355ea 100644 (file)
@@ -70,6 +70,11 @@ given SSL object I<s>, a set of callbacks are supplied in an B<OSSL_DISPATCH>
 table via I<qtdis>. The I<arg> parameter will be passed as an argument when the
 various callbacks are called.
 
+The above callbacks are invoked, as needed, by SSL_do_handshake() and SSL_read() (including
+SSL_read_ex, SSL_peek, SSL_peek_ex). Once the SSL handshake is complete, the QUIC
+stack must arrange to call one of the SSL_read() variants whenever a post-handshake CRYPTO
+frame is received. The number of bytes requested may be zero.
+
 An B<OSSL_DISPATCH> table should consist of an array of B<OSSL_DISPATCH> entries
 where each entry is a function id, and a function pointer. The array should be
 terminated with an empty entry (i.e. a 0 function id, and a NULL function