svn commit: r1935577 - in httpd/httpd/trunk: changes-entries modules/ssl

[email protected] Tue, 23 Jun 2026 08:44:27 -0000
Newsgroups gmane.comp.apache.cvs
Message-ID <178220426726.209863.4315086911553406809@svn03-he-fi>
Author: jorton
Date: Tue Jun 23 08:44:27 2026
New Revision: 1935577

Log:
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 <crlorent amazon.com>
Github: closes #673

Added:
   httpd/httpd/trunk/changes-entries/mod_ssl-openssl-compat.txt
Modified:
   httpd/httpd/trunk/modules/ssl/ssl_private.h

Added: httpd/httpd/trunk/changes-entries/mod_ssl-openssl-compat.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ httpd/httpd/trunk/changes-entries/mod_ssl-openssl-compat.txt	Tue Jun 23 08:44:27 2026	(r1935577)
@@ -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.
+     [Craig Lorentzen <crlorent amazon.com>]

Modified: httpd/httpd/trunk/modules/ssl/ssl_private.h
==============================================================================
--- httpd/httpd/trunk/modules/ssl/ssl_private.h	Tue Jun 23 08:41:42 2026	(r1935576)
+++ httpd/httpd/trunk/modules/ssl/ssl_private.h	Tue Jun 23 08:44:27 2026	(r1935577)
@@ -290,8 +290,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);