diff options
| author | 2021-04-12 14:10:20 +0100 | |
|---|---|---|
| committer | 2021-04-12 14:10:20 +0100 | |
| commit | 1d9936943e31537fa9ea28f1a705a6d61cd304df (patch) | |
| tree | 9140b78edf04471c3e461021eba53fde8342faf1 /src/modules/m_sslinfo.cpp | |
| parent | Constify the members of ssl_cert. (diff) | |
Move ssl_cert::GetMetaLine into the sslinfo module.
Diffstat (limited to 'src/modules/m_sslinfo.cpp')
| -rw-r--r-- | src/modules/m_sslinfo.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp index b15a1f2df..2086b4014 100644 --- a/src/modules/m_sslinfo.cpp +++ b/src/modules/m_sslinfo.cpp @@ -71,7 +71,22 @@ class SSLCertExt : public ExtensionItem std::string ToNetwork(const Extensible* container, void* item) const noexcept override { - return static_cast<ssl_cert*>(item)->GetMetaLine(); + const ssl_cert* cert = static_cast<ssl_cert*>(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") + << " "; + + if (cert->GetError().empty()) + value << cert->GetError(); + else + value << cert->GetFingerprint() << " " << cert->GetDN() << " " << cert->GetIssuer(); + + return value.str(); } void FromNetwork(Extensible* container, const std::string& value) noexcept override @@ -141,7 +156,7 @@ class UserCertificateAPIImpl : public UserCertificateAPIBase void SetCertificate(User* user, ssl_cert* cert) override { ServerInstance->Logs.Log(MODNAME, LOG_DEBUG, "Setting TLS client certificate for %s: %s", - user->GetFullHost().c_str(), cert->GetMetaLine().c_str()); + user->GetFullHost().c_str(), sslext.ToNetwork(user, cert).c_str()); sslext.Set(user, cert); } }; |
