From 3877db7bcf8a180f8dcb1c36baf5f77dc29cbf1d Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 23 Feb 2026 09:11:18 +0100 Subject: [PATCH] openssl: fix compiler warning with OpenSSL master MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit vtls/openssl.c:469:15: error: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] X509_get_X509_PUBKEY() now returns a const pointer - but only on OpenSSL 3, we must keep the non-const version for all forks. Closes #20681 --- lib/vtls/openssl.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index f1f8843b9a..4142e937a2 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -389,6 +389,13 @@ static CURLcode get_pkey_dh(struct Curl_easy *data, return result; } +#ifdef HAVE_OPENSSL3 +/* from OpenSSL commit fc756e594ed5a27af378 */ +typedef const X509_PUBKEY pubkeytype_t; +#else +typedef X509_PUBKEY pubkeytype_t; +#endif + static CURLcode ossl_certchain(struct Curl_easy *data, SSL *ssl) { CURLcode result; @@ -453,7 +460,7 @@ static CURLcode ossl_certchain(struct Curl_easy *data, SSL *ssl) { const X509_ALGOR *sigalg = NULL; - X509_PUBKEY *xpubkey = NULL; + pubkeytype_t *xpubkey = NULL; ASN1_OBJECT *pubkeyoid = NULL; X509_get0_signature(&psig, &sigalg, x);