File tree 5 files changed +23
-6
lines changed
5 files changed +23
-6
lines changed Original file line number Diff line number Diff line change @@ -12591,12 +12591,13 @@ fi
12591
12591
done
12592
12592
12593
12593
# Function introduced in OpenSSL 1.1.1.
12594
- for ac_func in X509_get_signature_info
12594
+ for ac_func in X509_get_signature_info SSL_CTX_set_num_tickets
12595
12595
do :
12596
- ac_fn_c_check_func "$LINENO" "X509_get_signature_info" "ac_cv_func_X509_get_signature_info"
12597
- if test "x$ac_cv_func_X509_get_signature_info" = xyes; then :
12596
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12597
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12598
+ if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12598
12599
cat >>confdefs.h <<_ACEOF
12599
- #define HAVE_X509_GET_SIGNATURE_INFO 1
12600
+ #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12600
12601
_ACEOF
12601
12602
12602
12603
fi
Original file line number Diff line number Diff line change @@ -1358,7 +1358,7 @@ if test "$with_ssl" = openssl ; then
1358
1358
# function was removed.
1359
1359
AC_CHECK_FUNCS ( [ CRYPTO_lock] )
1360
1360
# Function introduced in OpenSSL 1.1.1.
1361
- AC_CHECK_FUNCS ( [ X509_get_signature_info] )
1361
+ AC_CHECK_FUNCS ( [ X509_get_signature_info SSL_CTX_set_num_tickets ] )
1362
1362
AC_DEFINE ( [ USE_OPENSSL] , 1 , [ Define to 1 to build with OpenSSL support. (--with-ssl=openssl)] )
1363
1363
elif test "$with_ssl" != no ; then
1364
1364
AC_MSG_ERROR ( [ --with-ssl must specify openssl] )
Original file line number Diff line number Diff line change @@ -1362,6 +1362,7 @@ if sslopt in ['auto', 'openssl']
1362
1362
1363
1363
# Function introduced in OpenSSL 1.1.1
1364
1364
[' X509_get_signature_info' ],
1365
+ [' SSL_CTX_set_num_tickets' ],
1365
1366
]
1366
1367
1367
1368
are_openssl_funcs_complete = true
Original file line number Diff line number Diff line change @@ -258,8 +258,20 @@ be_tls_init(bool isServerStart)
258
258
}
259
259
}
260
260
261
- /* disallow SSL session tickets */
261
+ /*
262
+ * Disallow SSL session tickets. OpenSSL use both stateful and stateless
263
+ * tickets for TLSv1.3, and stateless ticket for TLSv1.2. SSL_OP_NO_TICKET
264
+ * is available since 0.9.8f but only turns off stateless tickets. In
265
+ * order to turn off stateful tickets we need SSL_CTX_set_num_tickets,
266
+ * which is available since OpenSSL 1.1.1. LibreSSL 3.5.4 (from OpenBSD
267
+ * 7.1) introduced this API for compatibility, but doesn't support session
268
+ * tickets at all so it's a no-op there.
269
+ */
270
+ #ifdef HAVE_SSL_CTX_SET_NUM_TICKETS
271
+ SSL_CTX_set_num_tickets (context , 0 );
272
+ #else
262
273
SSL_CTX_set_options (context , SSL_OP_NO_TICKET );
274
+ #endif
263
275
264
276
/* disallow SSL session caching, too */
265
277
SSL_CTX_set_session_cache_mode (context , SSL_SESS_CACHE_OFF );
Original file line number Diff line number Diff line change 510
510
/* Define to 1 if you have the `X509_get_signature_info' function. */
511
511
#undef HAVE_X509_GET_SIGNATURE_INFO
512
512
513
+ /* Define to 1 if you have the `SSL_CTX_set_num_tickets' function. */
514
+ #undef HAVE_SSL_CTX_SET_NUM_TICKETS
515
+
513
516
/* Define to 1 if the assembler supports X86_64's POPCNTQ instruction. */
514
517
#undef HAVE_X86_64_POPCNTQ
515
518
You can’t perform that action at this time.
0 commit comments