This is an automated email from the ASF dual-hosted git repository.
bneradt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new 21080f353d Detect SSL_CTX_set_keylog_callback in CMake build (#9928)
21080f353d is described below
commit 21080f353d3639f6ae2ec59e0612159f2d61574d
Author: JosiahWI <[email protected]>
AuthorDate: Thu Jun 29 17:02:14 2023 -0500
Detect SSL_CTX_set_keylog_callback in CMake build (#9928)
This looks for the symbol SSL_CTX_set_keylog_callback declared in ssl.h and
defined in libssl.so. It defines the TS_HAS_TLS_KEYLOGGING appropriately so
that we can run autests on TLS features, since the autests assume that TLS
keylogging is enabled.
---
CMakeLists.txt | 20 ++++++++++++++++----
include/tscore/ink_config.h.cmake.in | 1 +
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b3f5d1ac74..84b295d6b1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -216,8 +216,6 @@ check_symbol_exists(IN6_IS_ADDR_UNSPECIFIED "netinet/in.h"
TS_HAS_IN6_IS_ADDR_UN
check_symbol_exists(IP_TOS "netinet/ip.h" TS_HAS_IP_TOS)
check_symbol_exists(SO_MARK "sys/socket.h" TS_HAS_SO_MARK)
check_symbol_exists(SO_PEERCRED "sys/socket.h" TS_HAS_SO_PEERCRED)
-check_symbol_exists(TLS1_3_VERSION "${OPENSSL_INCLUDE_DIR}/openssl/ssl.h"
TS_USE_TLS13)
-check_symbol_exists(OPENSSL_NO_TLS1_3 "${OPENSSL_INCLUDE_DIR}/openssl/ssl.h"
TS_NO_USE_TLS13)
if(TS_NO_USE_TLS13)
set(TS_USE_TLS13 FALSE CACHE)
endif()
@@ -248,7 +246,10 @@ endif(HAVE_LIBAIO AND USE_LIBAIO)
# Check ssl functionality
list(APPEND CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
-list(APPEND CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
+list(APPEND CMAKE_REQUIRED_LIBRARIES
+ ${OPENSSL_SSL_LIBRARY}
+ ${OPENSSL_CRYPTO_LIBRARY}
+)
check_symbol_exists(BIO_meth_new "openssl/bio.h" HAVE_BIO_METH_NEW)
check_symbol_exists(BIO_set_data "openssl/bio.h" HAVE_BIO_SET_DATA)
check_symbol_exists(BIO_get_data "openssl/bio.h" HAVE_BIO_GET_DATA)
@@ -257,7 +258,18 @@ check_symbol_exists(BIO_meth_get_ctrl "openssl/bio.h"
HAVE_BIO_METH_GET_CTRL)
check_symbol_exists(BIO_meth_get_create "openssl/bio.h"
HAVE_BIO_METH_GET_CREATE)
check_symbol_exists(BIO_meth_get_destroy "openssl/bio.h"
HAVE_BIO_METH_GET_DESTROY)
check_symbol_exists(DH_get_2048_256 "openssl/dh.h" TS_USE_GET_DH_2048_256)
-check_symbol_exists(SSL_CTX_set_tlsext_ticket_key_cb openssl/ssl.h
HAVE_SSL_CTX_SET_TLSEXT_TICKET_KEY_CB)
+check_symbol_exists(OPENSSL_NO_TLS_3 "openssl/ssl.h" TS_NO_USE_TLS12)
+check_symbol_exists(
+ SSL_CTX_set_keylog_callback
+ "openssl/ssl.h"
+ TS_HAS_TLS_KEYLOGGING
+)
+check_symbol_exists(
+ SSL_CTX_set_tlsext_ticket_key_cb
+ "openssl/ssl.h"
+ HAVE_SSL_CTX_SET_TLSEXT_TICKET_KEY_CB
+)
+check_symbol_exists(TLS1_3_VERSION "openssl/ssl.h" TS_USE_TLS13)
# Catch2 for tests
set(CATCH_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/lib/catch2)
diff --git a/include/tscore/ink_config.h.cmake.in
b/include/tscore/ink_config.h.cmake.in
index 9472d7f217..e6fa7da33c 100644
--- a/include/tscore/ink_config.h.cmake.in
+++ b/include/tscore/ink_config.h.cmake.in
@@ -73,6 +73,7 @@
#cmakedefine01 HAVE_EVENTFD
#cmakedefine01 HAVE_SSL_CTX_SET_TLSEXT_TICKET_KEY_CB
+#cmakedefine01 TS_HAS_TLS_KEYLOGGING
#cmakedefine HAVE_BIO_METH_NEW 1
#cmakedefine HAVE_BIO_SET_DATA 1