This is an automated email from the ASF dual-hosted git repository. cmcfarlen pushed a commit to branch 10.2.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git
commit e0e2589c9c5a11e5a855e7aedab1ac1ccc62af53 Author: Masakazu Kitajo <[email protected]> AuthorDate: Mon Mar 9 16:55:25 2026 -0600 Address incompatibility with BoringSSL (#12943) BoringSSL recently moved some data types and functions into bssl namespace. (cherry picked from commit 2e2c9a3f98e6d05238a423f7d04ce2eafc70bbd1) --- CMakeLists.txt | 13 +++++++++++++ include/tscore/ink_config.h.cmake.in | 1 + src/iocore/net/OCSPStapling.cc | 10 ++++++++++ 3 files changed, 24 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e6b59f271..f5c51ca3af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -593,6 +593,19 @@ check_cxx_source_compiles( }" HAVE_CRYPTO_EX_DUP_TYPE1 ) +check_cxx_source_compiles( + "#include <openssl/asn1.h> + namespace bssl { + DECLARE_ASN1_ITEM(GENERAL_NAME) + }; + int main() { + if (&bssl::GENERAL_NAME_it == reinterpret_cast<void *>(0x01)) { + return 1; + } + return 0; + }" + HAVE_GENERAL_NAME_IN_BSSL_NAMESPACE +) set(CMAKE_EXTRA_INCLUDE_FILES netinet/in.h netinet/tcp.h) check_type_size("struct tcp_info" STRUCT_TCP_INFO) diff --git a/include/tscore/ink_config.h.cmake.in b/include/tscore/ink_config.h.cmake.in index c1fbfb2c36..bf012cefec 100644 --- a/include/tscore/ink_config.h.cmake.in +++ b/include/tscore/ink_config.h.cmake.in @@ -92,6 +92,7 @@ #cmakedefine HAVE_NATIVE_DUAL_CERT_SUPPORT 1 #cmakedefine HAVE_CRYPTO_EX_UNUSED 1 #cmakedefine HAVE_CRYPTO_EX_DUP_TYPE1 1 +#cmakedefine HAVE_GENERAL_NAME_IN_BSSL_NAMESPACE 1 #cmakedefine HAVE_STRUCT_TCP_INFO 1 #cmakedefine HAVE_STRUCT_TCP_INFO_TCPI_TOTAL_RETRANS 1 diff --git a/src/iocore/net/OCSPStapling.cc b/src/iocore/net/OCSPStapling.cc index 26bcdce3d4..fa3527dc40 100644 --- a/src/iocore/net/OCSPStapling.cc +++ b/src/iocore/net/OCSPStapling.cc @@ -55,7 +55,13 @@ extern ClassAllocator<FetchSM, false> FetchSMAllocator; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" #ifndef GENERAL_NAME_it +#if HAVE_GENERAL_NAME_IN_BSSL_NAMESPACE +namespace bssl { +#endif DECLARE_ASN1_ITEM(GENERAL_NAME) +#if HAVE_GENERAL_NAME_IN_BSSL_NAMESPACE +} +#endif #endif // RFC 6960 using TS_OCSP_CERTID = struct ocsp_cert_id { @@ -97,7 +103,11 @@ using TS_OCSP_REQINFO = struct ocsp_req_info_st { DECLARE_ASN1_FUNCTIONS(TS_OCSP_REQINFO) ASN1_SEQUENCE(TS_OCSP_REQINFO) = { ASN1_EXP_OPT(TS_OCSP_REQINFO, version, ASN1_INTEGER, 0), +#if HAVE_GENERAL_NAME_IN_BSSL_NAMESPACE + ASN1_EXP_OPT(TS_OCSP_REQINFO, requestorName, bssl::GENERAL_NAME, 1), +#else ASN1_EXP_OPT(TS_OCSP_REQINFO, requestorName, GENERAL_NAME, 1), +#endif ASN1_SEQUENCE_OF(TS_OCSP_REQINFO, requestList, TS_OCSP_ONEREQ), ASN1_EXP_SEQUENCE_OF_OPT(TS_OCSP_REQINFO, requestExtensions, X509_EXTENSION, 2) } ASN1_SEQUENCE_END(TS_OCSP_REQINFO)
