aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2024-02-14 10:06:45 +0000
committerTomas Mraz <tomas@openssl.org>2024-02-19 10:15:46 +0100
commita768a796f26ecebc12ac0bd9b86c5c30bfd9370b (patch)
treeff658b2f18a4f0be0af9097caf703291f8f15c5b
parent8c09d69883120d2a9fbe3fadf5f198b77fe901e3 (diff)
downloadopenssl-a768a796f26ecebc12ac0bd9b86c5c30bfd9370b.tar.gz
Minor updates
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23535)
-rw-r--r--doc/man3/SSL_get_value_uint.pod16
-rw-r--r--ssl/quic/quic_impl.c7
2 files changed, 10 insertions, 13 deletions
diff --git a/doc/man3/SSL_get_value_uint.pod b/doc/man3/SSL_get_value_uint.pod
index 0be08e2e12..2a4e01c7e2 100644
--- a/doc/man3/SSL_get_value_uint.pod
+++ b/doc/man3/SSL_get_value_uint.pod
@@ -204,17 +204,17 @@ defaults to this setting.
=item B<SSL_VALUE_EVENT_HANDLING_MODE_IMPLICIT> (Implicit event handling)
-If set to this value (the default), the implicit event handling model is used.
-Under this model, QUIC objects will automatically perform background event
-processing (equivalent to a call to L<SSL_handle_events(3)>) when calls to I/O
-functions such as L<SSL_read_ex(3)> or L<SSL_write_ex(3)> are made on a QUIC SSL
-object. This helps to maintain the health of the QUIC connection and ensures
-that incoming datagrams and timeout events are processed.
+If set to this value, the implicit event handling model is used. Under this
+model, QUIC objects will automatically perform background event processing
+(equivalent to a call to L<SSL_handle_events(3)>) when calls to I/O functions
+such as L<SSL_read_ex(3)> or L<SSL_write_ex(3)> are made on a QUIC SSL object.
+This helps to maintain the health of the QUIC connection and ensures that
+incoming datagrams and timeout events are processed.
=item B<SSL_VALUE_EVENT_HANDLING_MODE_EXPLICIT> (Explicit event handling)
-If set to 0, the explicit event handling model is used. Under this model,
-B<nonblocking> calls to I/O functions such as L<SSL_read_ex(3)> or
+If set to this value, the explicit event handling model is used. Under this
+model, B<nonblocking> calls to I/O functions such as L<SSL_read_ex(3)> or
L<SSL_write_ex(3)> do not result in the automatic processing of QUIC events. Any
new incoming network traffic is not handled; no new outgoing network traffic is
generated, and pending timeout events are not processed. This allows an
diff --git a/ssl/quic/quic_impl.c b/ssl/quic/quic_impl.c
index 4f552ca6b2..31548c1b1d 100644
--- a/ssl/quic/quic_impl.c
+++ b/ssl/quic/quic_impl.c
@@ -3307,14 +3307,11 @@ static int qctx_should_autotick(QCTX *ctx)
if (ctx->is_stream) {
event_handling_mode = ctx->xso->event_handling_mode;
if (event_handling_mode != SSL_VALUE_EVENT_HANDLING_MODE_INHERIT)
- return event_handling_mode == SSL_VALUE_EVENT_HANDLING_MODE_IMPLICIT;
+ return event_handling_mode != SSL_VALUE_EVENT_HANDLING_MODE_EXPLICIT;
}
event_handling_mode = ctx->qc->event_handling_mode;
- if (event_handling_mode == SSL_VALUE_EVENT_HANDLING_MODE_INHERIT)
- event_handling_mode = SSL_VALUE_EVENT_HANDLING_MODE_IMPLICIT;
-
- return event_handling_mode == SSL_VALUE_EVENT_HANDLING_MODE_IMPLICIT;
+ return event_handling_mode != SSL_VALUE_EVENT_HANDLING_MODE_EXPLICIT;
}
QUIC_NEEDS_LOCK