aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar ctrlaltca2026-06-13 12:29:46 +0200
committerGravatar GitHub2026-06-13 12:29:46 +0200
commitd1de244fe7b45355237a871192d2680d9d9f1e86 (patch)
treee2a3a9ecb51ab96e9f8e240eae2fe966702d5a97
parentFix some c++20 warnings (#2766) (diff)
downloadKVIrc-master.tar.gz
KVIrc-master.tar.bz2
KVIrc-master.zip
Fix compilation with openssl 4 (#2765) HEAD master
-rw-r--r--src/kvilib/net/KviSSL.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/kvilib/net/KviSSL.cpp b/src/kvilib/net/KviSSL.cpp
index 1adaf7e28..9741373cc 100644
--- a/src/kvilib/net/KviSSL.cpp
+++ b/src/kvilib/net/KviSSL.cpp
@@ -953,12 +953,23 @@ void KviSSLCertificate::extractSignature()
m_szSignatureContents = "";
- for(i = 0; i < sig->length; i++)
+#if OPENSSL_VERSION_NUMBER >= 0x10100005L
+ int length = ASN1_STRING_length(sig);
+#else
+ int length = sig->length;
+#endif
+ for(i = 0; i < length; i++)
{
if(m_szSignatureContents.hasData())
m_szSignatureContents.append(":");
+#if OPENSSL_VERSION_NUMBER >= 0x10100005L
+ const unsigned char *data = ASN1_STRING_get0_data(sig);
+ m_szSignatureContents.append(hexdigits[(data[i] & 0xf0) >> 4]);
+ m_szSignatureContents.append(hexdigits[(data[i] & 0x0f)]);
+#else
m_szSignatureContents.append(hexdigits[(sig->data[i] & 0xf0) >> 4]);
m_szSignatureContents.append(hexdigits[(sig->data[i] & 0x0f)]);
+#endif
}
}