OpenSSL: send no TLS1.3 session tickets
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 30 Dec 2018 22:46:25 +0000 (22:46 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 10 Feb 2019 23:57:48 +0000 (23:57 +0000)
(cherry picked from commit 09fa60df6e9929364a2c0830eff1e0f4f27ba095)

doc/doc-txt/ChangeLog
src/src/tls-openssl.c

index 9e91192cfea62ef7804b62a7ee83d0ee366a5c93..c4d86aaa0726b19667297024821bebe3184f3c32 100644 (file)
@@ -11,6 +11,10 @@ Exim version 4.93
 JH/01 OpenSSL: With debug enabled output keying information sufficient, server
       side, to decode a TLS 1.3 packet capture.
 
+JH/02 OpenSSL: suppress the sending of (stateful) TLS1.3 session tickets.
+      Previously the default library behaviour applied, sending two, each in
+      its own TCP segment.
+
 
 Exim version 4.92
 -----------------
index 045e30a85f0ff95375d93c77711f8fabd2fc6448..b1f6bd4eb958e312a33b3bbfddfc8fe2ac0ea4fe 100644 (file)
@@ -94,6 +94,7 @@ change this guard and punt the issue for a while longer. */
 #ifndef LIBRESSL_VERSION_NUMBER
 # if OPENSSL_VERSION_NUMBER >= 0x010101000L
 #  define OPENSSL_HAVE_KEYLOG_CB
+#  define OPENSSL_HAVE_NUM_TICKETS
 # endif
 #endif
 
@@ -1809,6 +1810,10 @@ if (init_options)
 else
   DEBUG(D_tls) debug_printf("no SSL CTX options to set\n");
 
+#ifdef OPENSSL_HAVE_NUM_TICKETS
+SSL_CTX_set_num_tickets(ctx, 0);       /* send no TLS1.3 stateful-tickets */
+#endif
+
 /* We'd like to disable session cache unconditionally, but foolish Outlook
 Express clients then give up the first TLS connection and make a second one
 (which works).  Only when there is an IMAP service on the same machine.