]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Add docs for new callback registration
authorNeil Horman <nhorman@openssl.org>
Thu, 9 Jan 2025 13:27:58 +0000 (08:27 -0500)
committerNeil Horman <nhorman@openssl.org>
Mon, 17 Feb 2025 16:27:33 +0000 (11:27 -0500)
Add docs for SSL_CTX_set_new_pending_ssl_cb

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26361)

doc/build.info
doc/man3/SSL_CTX_set_new_pending_ssl_cb.pod [new file with mode: 0644]

index 2b40cfc77f303dc731b33795706195dc7ba9f506..8fa78afb7728e745f7ad9cb80d8e8938b4a31221 100644 (file)
@@ -2339,6 +2339,10 @@ DEPEND[html/man3/SSL_CTX_set_client_hello_cb.html]=man3/SSL_CTX_set_client_hello
 GENERATE[html/man3/SSL_CTX_set_client_hello_cb.html]=man3/SSL_CTX_set_client_hello_cb.pod
 DEPEND[man/man3/SSL_CTX_set_client_hello_cb.3]=man3/SSL_CTX_set_client_hello_cb.pod
 GENERATE[man/man3/SSL_CTX_set_client_hello_cb.3]=man3/SSL_CTX_set_client_hello_cb.pod
+DEPEND[html/man3/SSL_CTX_set_new_pending_ssl_cb.html]=man3/SSL_CTX_set_new_pending_ssl_cb.pod
+GENERATE[html/man3/SSL_CTX_set_new_pending_ssl_cb.html]=man3/SSL_CTX_set_new_pending_ssl_cb.pod
+DEPEND[man/man3/SSL_CTX_set_new_pending_ssl_cb.3]=man3/SSL_CTX_set_new_pending_ssl_cb.pod
+GENERATE[man/man3/SSL_CTX_set_new_pending_ssl_cb.3]=man3/SSL_CTX_set_new_pending_ssl_cb.pod
 DEPEND[html/man3/SSL_CTX_set_ct_validation_callback.html]=man3/SSL_CTX_set_ct_validation_callback.pod
 GENERATE[html/man3/SSL_CTX_set_ct_validation_callback.html]=man3/SSL_CTX_set_ct_validation_callback.pod
 DEPEND[man/man3/SSL_CTX_set_ct_validation_callback.3]=man3/SSL_CTX_set_ct_validation_callback.pod
diff --git a/doc/man3/SSL_CTX_set_new_pending_ssl_cb.pod b/doc/man3/SSL_CTX_set_new_pending_ssl_cb.pod
new file mode 100644 (file)
index 0000000..e4433ed
--- /dev/null
@@ -0,0 +1,48 @@
+=pod
+
+=head1 NAME
+
+SSL_CTX_set_new_pending_ssl_cb - callback function to report creation of QUIC connection SSL objects 
+
+=head1 SYNOPSIS
+
+ typedef int (*SSL_set_new_pending_ssl_cb_fn)(SSL_CTX *c, SSL *new_ssl,
+                                               void *arg);
+ void SSL_CTX_set_new_pending_ssl_cb(SSL_CTX *c,
+                                     SSL_set_new_pending_ssl_cb_fn *f,
+                                     void *arg);
+
+=head1 DESCRIPTION
+
+SSL_CTX_set_new_pending_ssl_cb() sets the new_pending_ssl callback function and
+associated application data argument I<arg>.  When using the QUIC transport, TLS
+handshake processing may occur independently from the thread which accepts the
+connection that the handshake is establishing.  As such, B<SSL> objects
+representing the connection may be allocated and initialized prior to a call to
+SSL_accept_connection().
+
+=head1 RETURN VALUES
+
+SSL_CTX_set_new_pending_ssl_cb() returns no value.
+
+SSL_set_new_pending_ssl_cb_fn() must return an integer value.  A return value of
+0 indicates that the QUIC stack should discard this newly created B<SSL> object,
+implying that the associated new connection will not be available for handling
+on a subsequent call to SSL_accept_connection().  Any other non-zero return
+value is treated as success, allowing the new connection to be enqueued to the
+accept queue.
+
+=head1 HISTORY
+
+SSL_CTX_set_new_pending_ssl_cb() was added in OpenSSL 3.5.0
+
+=head1 COPYRIGHT
+
+Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
+
+Licensed under the Apache License 2.0 (the "License").  You may not use
+this file except in compliance with the License.  You can obtain a copy
+in the file LICENSE in the source distribution or at
+L<https://www.openssl.org/source/license.html>.
+
+=cut