]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
DOC: document ticket suppression for SSL_OP_NO_TICKET and SSL_SESS_CACHE_OFF
authorDaniel Kubec <kubec@openssl.foundation>
Fri, 29 May 2026 14:08:11 +0000 (16:08 +0200)
committerTomas Mraz <tomas@openssl.foundation>
Mon, 15 Jun 2026 14:12:55 +0000 (16:12 +0200)
Complements: e5a1892 "TLS1.3: Disable tickets when SSL_OP_NO_TICKET and SSL_SESS_CACHE_OFF are set."

Co-authored-by: Andrew Dinh <andrewd@openssl.org>
Reviewed-by: Milan Broz <mbroz@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Mon Jun 15 14:13:25 2026
(Merged from https://github.com/openssl/openssl/pull/31335)

doc/man3/SSL_CTX_set_options.pod
doc/man3/SSL_CTX_set_session_cache_mode.pod

index ec66190d7a68d3befe12f958ba58624cdfead2f9..ae6f11cd54e6c29f640878dcfaa16d3c20be433d 100644 (file)
@@ -349,6 +349,16 @@ In TLSv1.3 it is possible to suppress all tickets (stateful and stateless) from
 being sent by calling L<SSL_CTX_set_num_tickets(3)> or
 L<SSL_set_num_tickets(3)>.
 
+All tickets (stateful and stateless) are also suppressed when the server has set
+B<SSL_OP_NO_TICKET> and the server-side session cache is disabled via
+B<SSL_SESS_CACHE_OFF> through L<SSL_CTX_set_session_cache_mode(3)>.
+Both conditions together indicate a clear intent to suppress resumption, so
+sending B<NewSessionTicket> messages would be wasteful and misleading.
+
+From the server's perspective, a TLS 1.3 client that does not send the
+B<psk_key_exchange_modes> extension is effectively signaling no interest in
+session tickets and session resumption, so tickets are also suppressed in this case.
+
 =item SSL_OP_PRIORITIZE_CHACHA
 
 When SSL_OP_SERVER_PREFERENCE is set, temporarily reprioritize
index 296212b8397c161e335eeebbebbe0e69c3c7578d..4234aa634434b796d9dc237be331563c07fc94db 100644 (file)
@@ -47,6 +47,12 @@ The following session cache modes and modifiers are available:
 
 No session caching for client or server takes place.
 
+For a server, setting B<SSL_SESS_CACHE_OFF> together with the
+B<SSL_OP_NO_TICKET> option (see L<SSL_CTX_set_options(3)>) suppresses the
+issuance of B<NewSessionTicket> messages. The combination indicates a clear
+intent to disable session resumption, so no stateful or stateless tickets are
+sent to the client.
+
 =item SSL_SESS_CACHE_CLIENT
 
 Client sessions are added to the session cache. As there is no reliable way