From bfe493af8aef1b5c37c328e27af0f57925d864aa Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sat, 1 Nov 2025 12:28:27 +0000 Subject: Expose the ssl_cert flags in SSLINFO. --- src/modules/m_sslinfo.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'src/modules') diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp index 428083fc1..7d00fe261 100644 --- a/src/modules/m_sslinfo.cpp +++ b/src/modules/m_sslinfo.cpp @@ -65,6 +65,17 @@ public: Delete(user, UnsetRaw(user)); } + static std::string GetFlags(const ssl_cert* cert) + { + std::string ret; + ret.push_back(cert->IsInvalid() ? 'v' : 'V'); + ret.push_back(cert->IsTrusted() ? 'T' : 't'); + ret.push_back(cert->IsRevoked() ? 'R' : 'r'); + ret.push_back(cert->IsUnknownSigner() ? 's' : 'S'); + ret.push_back(cert->GetError().empty() ? 'e' : 'E'); + return ret; + } + std::string ToInternal(const Extensible* container, void* item) const noexcept override { return ToNetwork(container, item); @@ -74,13 +85,7 @@ public: { const ssl_cert* cert = static_cast(item); std::stringstream value; - value - << (cert->IsInvalid() ? "v" : "V") - << (cert->IsTrusted() ? "T" : "t") - << (cert->IsRevoked() ? "R" : "r") - << (cert->IsUnknownSigner() ? "s" : "S") - << (cert->GetError().empty() ? "e" : "E") - << " "; + value << GetFlags(cert) << " "; if (cert->GetError().empty()) value << insp::join(cert->GetFingerprints(), ',') << " " << cert->GetDN() << " " << cert->GetIssuer(); @@ -218,6 +223,7 @@ private: } else { + source->WriteNotice("*** Flags: " + SSLCertExt::GetFlags(cert)); source->WriteNotice("*** Distinguished Name: " + cert->GetDN()); source->WriteNotice("*** Issuer: " + cert->GetIssuer()); for (const auto& fingerprint : cert->GetFingerprints()) -- cgit v1.3.1-10-gc9f91