aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_sslinfo.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2021-04-12 14:10:20 +0100
committerGravatar Sadie Powell2021-04-12 14:10:20 +0100
commit1d9936943e31537fa9ea28f1a705a6d61cd304df (patch)
tree9140b78edf04471c3e461021eba53fde8342faf1 /src/modules/m_sslinfo.cpp
parentConstify 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.cpp19
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);
}
};