diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-17 10:52:33 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-17 10:52:33 +0000 |
commit | 2c3307fb903f427be3d021c5780b75cac9af2ce8 (patch) | |
tree | 65cf431f40b7481d81ae2dfce9576342686448f7 /upstream/debian-unstable/man3/SSL_handle_events.3ssl | |
parent | Releasing progress-linux version 4.22.0-1~progress7.99u1. (diff) | |
download | manpages-l10n-2c3307fb903f427be3d021c5780b75cac9af2ce8.tar.xz manpages-l10n-2c3307fb903f427be3d021c5780b75cac9af2ce8.zip |
Merging upstream version 4.23.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/debian-unstable/man3/SSL_handle_events.3ssl')
-rw-r--r-- | upstream/debian-unstable/man3/SSL_handle_events.3ssl | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man3/SSL_handle_events.3ssl b/upstream/debian-unstable/man3/SSL_handle_events.3ssl new file mode 100644 index 00000000..6d3e4160 --- /dev/null +++ b/upstream/debian-unstable/man3/SSL_handle_events.3ssl @@ -0,0 +1,147 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "SSL_HANDLE_EVENTS 3SSL" +.TH SSL_HANDLE_EVENTS 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 +.nh +.SH NAME +SSL_handle_events \- advance asynchronous state machine and perform network I/O +.SH SYNOPSIS +.IX Header "SYNOPSIS" +.Vb 1 +\& #include <openssl/ssl.h> +\& +\& int SSL_handle_events(SSL *ssl); +.Ve +.SH DESCRIPTION +.IX Header "DESCRIPTION" +\&\fBSSL_handle_events()\fR performs any internal processing which is due on a SSL object. The +exact operations performed by \fBSSL_handle_events()\fR vary depending on what kind of protocol +is being used with the given SSL object. For example, \fBSSL_handle_events()\fR may handle +timeout events which have become due, or may attempt, to the extent currently +possible, to perform network I/O operations on one of the BIOs underlying the +SSL object. +.PP +The primary use case for \fBSSL_handle_events()\fR is to allow an application which uses +OpenSSL in nonblocking mode to give OpenSSL an opportunity to handle timer +events, or to respond to the availability of new data to be read from an +underlying BIO, or to respond to the opportunity to write pending data to an +underlying BIO. +.PP +\&\fBSSL_handle_events()\fR can be used only with the following types of SSL object: +.IP "DTLS SSL objects" 4 +.IX Item "DTLS SSL objects" +Using \fBSSL_handle_events()\fR on an SSL object being used with a DTLS method allows timeout +events to be handled properly. This is equivalent to a call to +\&\fBDTLSv1_handle_timeout\fR\|(3). Since \fBSSL_handle_events()\fR handles a superset of the use +cases of \fBDTLSv1_handle_timeout\fR\|(3), it should be preferred for new +applications which do not require support for OpenSSL 3.1 or older. +.Sp +When using DTLS, an application must call \fBSSL_handle_events()\fR as indicated by +calls to \fBSSL_get_event_timeout\fR\|(3); event handling is not performed +automatically by calls to other SSL functions such as \fBSSL_read\fR\|(3) or +\&\fBSSL_write\fR\|(3). Note that this is different to QUIC which also performs event +handling implicitly; see below. +.IP "QUIC connection SSL objects" 4 +.IX Item "QUIC connection SSL objects" +Using \fBSSL_handle_events()\fR on an SSL object which represents a QUIC connection allows +timeout events to be handled properly, as well as incoming network data to be +processed, and queued outgoing network data to be written, if the underlying BIO +has the capacity to accept it. +.Sp +Ordinarily, when an application uses an SSL object in blocking mode, it does not +need to call \fBSSL_handle_events()\fR because OpenSSL performs ticking internally on an +automatic basis. However, if an application uses a QUIC connection in +nonblocking mode, it must at a minimum ensure that \fBSSL_handle_events()\fR is called +periodically to allow timeout events to be handled. An application can find out +when it next needs to call \fBSSL_handle_events()\fR for this purpose (if at all) by calling +\&\fBSSL_get_event_timeout\fR\|(3). +.Sp +Calling \fBSSL_handle_events()\fR on a QUIC connection SSL object being used in blocking mode +is not necessary unless no I/O calls (such as \fBSSL_read\fR\|(3) or \fBSSL_write\fR\|(3)) +will be made to the object for a substantial period of time. So long as at least +one call to the SSL object is blocking, no such call is needed. However, +\&\fBSSL_handle_events()\fR may optionally be used on a QUIC connection object if desired. +.Sp +With the thread-assisted mode of operation \fBOSSL_QUIC_client_thread_method\fR\|(3) +it is unnecessary to call \fBSSL_handle_events()\fR as the assist thread handles the QUIC +connection events. +.PP +Calling \fBSSL_handle_events()\fR on any other kind of SSL object is a no-op. This is +considered a success case. +.PP +Note that \fBSSL_handle_events()\fR supersedes the older \fBDTLSv1_handle_timeout\fR\|(3) function +for all use cases. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +Returns 1 on success and 0 on failure. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fBSSL_get_event_timeout\fR\|(3), \fBDTLSv1_handle_timeout\fR\|(3), \fBssl\fR\|(7) +.SH HISTORY +.IX Header "HISTORY" +The \fBSSL_handle_events()\fR function was added in OpenSSL 3.2. +.SH COPYRIGHT +.IX Header "COPYRIGHT" +Copyright 2023 The OpenSSL Project Authors. All Rights Reserved. +.PP +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 +<https://www.openssl.org/source/license.html>. |