mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-11-14 16:07:25 +00:00
apache2: fix build with OpenSSL 4
ASN1_STRING is opaque in OpenSSL 4, so mod_md fails to compile in md_ocsp.c. Backport the httpd 2.4.x commit that switches to the getter functions. The fix is part of httpd 2.4.69, which master gets through the upgrade. Upstream-Status: Backport [https://github.com/apache/httpd/commit/6cd9ea8dcb5bf68a195e90578c7f05e12eba5468] AI-Generated: Uses Claude Code (Claude Opus 5.5) Signed-off-by: Markus Volk <f_l_k@t-online.de>
This commit is contained in:
1 parent
c7f1f03d1b
commit
db22543b54
2 files changed
+48
No files matched your search
+47
@@ -0,0 +1,47 @@
|
||||
From 6cd9ea8dcb5bf68a195e90578c7f05e12eba5468 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Jung <rjung@apache.org>
|
||||
Date: Wed, 17 Jun 2026 09:48:52 +0000
|
||||
Subject: [PATCH] mod_md: Add OpenSSL 4.0 compatibility
|
||||
|
||||
* Use getters instead of direct member access.
|
||||
|
||||
* Struct was made opaque in OpenSSL 4. Getters exist since OpenSSL 1.1.0.
|
||||
|
||||
* Keep OpenSSL 1.0.2 compatibility.
|
||||
|
||||
Merge from icing/md:
|
||||
https://github.com/icing/mod_md/commit/9fd90380db0722f0ccc14ff1c4da0ca21d4da75c
|
||||
|
||||
Backport of r1935161 from trunk, [mod_md CTR]
|
||||
|
||||
|
||||
Upstream-Status: Backport [https://github.com/apache/httpd/commit/6cd9ea8dcb5bf68a195e90578c7f05e12eba5468]
|
||||
---
|
||||
diff --git a/modules/md/md_ocsp.c b/modules/md/md_ocsp.c
|
||||
index aee799a7b39..2e7f14dff31 100644
|
||||
--- a/modules/md/md_ocsp.c
|
||||
+++ b/modules/md/md_ocsp.c
|
||||
@@ -533,13 +533,23 @@ static const char *certid_summary(const OCSP_CERTID *certid, apr_pool_t *p)
|
||||
serial = issuer = key = "???";
|
||||
OCSP_id_get0_info(&aname_hash, &amd_nid, &akey_hash, &aserial, (OCSP_CERTID*)certid);
|
||||
if (aname_hash) {
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
data.len = (apr_size_t)aname_hash->length;
|
||||
data.data = (const char*)aname_hash->data;
|
||||
+#else
|
||||
+ data.len = (apr_size_t)ASN1_STRING_length(aname_hash);
|
||||
+ data.data = (const char*)ASN1_STRING_get0_data(aname_hash);
|
||||
+#endif
|
||||
md_data_to_hex(&issuer, 0, p, &data);
|
||||
}
|
||||
if (akey_hash) {
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
data.len = (apr_size_t)akey_hash->length;
|
||||
data.data = (const char*)akey_hash->data;
|
||||
+#else
|
||||
+ data.len = (apr_size_t)ASN1_STRING_length(akey_hash);
|
||||
+ data.data = (const char*)ASN1_STRING_get0_data(akey_hash);
|
||||
+#endif
|
||||
md_data_to_hex(&key, 0, p, &data);
|
||||
}
|
||||
if (aserial) {
|
||||
@@ -16,6 +16,7 @@ SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
|
||||
file://0008-Fix-perl-install-directory-to-usr-bin.patch \
|
||||
file://0009-support-apxs.in-force-destdir-to-be-empty-string.patch \
|
||||
file://0001-make_exports.awk-not-expose-the-path.patch \
|
||||
file://0011-mod_md-Add-OpenSSL-4.0-compatibility.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:class-target = " \
|
||||
|
||||
Reference in new issue
Block a user