From 7d175cc76ef4cf2ee54cd778c4c212aaef0efbd3 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Tue, 23 Jun 2026 08:44:27 +0000 Subject: [PATCH] Fix pre-1.1.0 compat macros for X509_get0_notBefore/notAfter/serialNumber The compat macros added in 83d565f for pre-1.1.0 OpenSSL used incorrect names (X509_get0_before/X509_get0_after) which don't match the actual API names used in the code (X509_get0_notBefore/X509_get0_notAfter). This caused link failures when building against OpenSSL 1.0.2. Also add missing X509_get0_serialNumber compat macro which was used in ssl_engine_log.c but never shimmed for pre-1.1.0. Submitted by: Craig Lorentzen Github: closes #673 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935577 13f79535-47bb-0310-9956-ffa450edef68 (cherry picked from commit 5ed77190440e943163acac0b58c5cf309717e2b9) --- changes-entries/mod_ssl-openssl-compat.txt | 3 +++ modules/ssl/ssl_private.h | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 changes-entries/mod_ssl-openssl-compat.txt diff --git a/changes-entries/mod_ssl-openssl-compat.txt b/changes-entries/mod_ssl-openssl-compat.txt new file mode 100644 index 00000000000..7b27a7f9b14 --- /dev/null +++ b/changes-entries/mod_ssl-openssl-compat.txt @@ -0,0 +1,3 @@ + *) mod_ssl: Fix OpenSSL compatibility macros for X509_get0_notBefore, + X509_get0_notAfter, and X509_get0_serialNumber with OpenSSL < 1.1. + PR 70205. [Craig Lorentzen ] diff --git a/modules/ssl/ssl_private.h b/modules/ssl/ssl_private.h index b2f5dfd385f..95fd9f7d4cb 100644 --- a/modules/ssl/ssl_private.h +++ b/modules/ssl/ssl_private.h @@ -276,8 +276,9 @@ #define EVP_PKEY_up_ref(pk) (CRYPTO_add(&(pk)->references, +1, CRYPTO_LOCK_EVP_PKEY)) #define ASN1_STRING_get0_data(x) ((x)->data) #define ASN1_STRING_length(x) ((int)(x)->length) -#define X509_get0_before(x) X509_get_before(x) -#define X509_get0_after(x) X509_get_after(x) +#define X509_get0_serialNumber(x) X509_get_serialNumber(x) +#define X509_get0_notBefore(x) X509_get_notBefore(x) +#define X509_get0_notAfter(x) X509_get_notAfter(x) #else void init_bio_methods(void); void free_bio_methods(void);