diff options
| author | 2025-11-04 01:03:14 +0000 | |
|---|---|---|
| committer | 2025-11-04 01:03:14 +0000 | |
| commit | 6df70e253869fecadbb82f832f8f47653e044985 (patch) | |
| tree | 47e9c127ab87257eaf883ce757a797069bc00052 /modules/extra/ssl_openssl.cpp | |
| parent | Merge branch 'insp4' into master. (diff) | |
| parent | Only cache the package directory on Windows. (diff) | |
| download | inspircd++-6df70e253869fecadbb82f832f8f47653e044985.tar.gz inspircd++-6df70e253869fecadbb82f832f8f47653e044985.tar.bz2 inspircd++-6df70e253869fecadbb82f832f8f47653e044985.zip | |
Merge branch 'insp4' into master.
Diffstat (limited to 'modules/extra/ssl_openssl.cpp')
| -rw-r--r-- | modules/extra/ssl_openssl.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/modules/extra/ssl_openssl.cpp b/modules/extra/ssl_openssl.cpp index a4c5a5274..38141cce8 100644 --- a/modules/extra/ssl_openssl.cpp +++ b/modules/extra/ssl_openssl.cpp @@ -545,14 +545,10 @@ private: void VerifyCertificate() { - X509* cert; auto* certinfo = new ssl_cert(); this->certificate = certinfo; - unsigned int n; - unsigned char md[EVP_MAX_MD_SIZE]; - - cert = SSL_get_peer_certificate(sess); + auto* cert = SSL_get_peer_certificate(sess); if (!cert) { certinfo->error = "Could not get peer certificate: "+std::string(get_error()); @@ -593,15 +589,17 @@ private: GetDNString(X509_get_subject_name(cert), certinfo->dn); GetDNString(X509_get_issuer_name(cert), certinfo->issuer); + unsigned int mdlen; + unsigned char md[EVP_MAX_MD_SIZE]; for (const auto* digest : GetProfile().GetDigests()) { - if (!X509_digest(cert, digest, md, &n)) + if (!X509_digest(cert, digest, md, &mdlen)) { certinfo->error = "Out of memory generating fingerprint"; } else { - certinfo->fingerprints.push_back(Hex::Encode(md, n)); + certinfo->fingerprints.push_back(Hex::Encode(md, mdlen)); } } |
