From cd6329d4b08bcfc9853948fc89310013b112dd53 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sun, 11 Dec 2022 08:37:25 +0000 Subject: Improve the oper login flow and error messages. --- src/modules/m_sslinfo.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/modules/m_sslinfo.cpp') diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp index 2f3d4d0c8..d89f74006 100644 --- a/src/modules/m_sslinfo.cpp +++ b/src/modules/m_sslinfo.cpp @@ -327,11 +327,19 @@ public: { auto cert = cmd.sslapi.GetCertificate(user); if (oper->GetConfig()->getBool("sslonly") && !cert) + { + ServerInstance->SNO.WriteGlobalSno('o', "%s (%s) [%s] failed to log into the \x02%s\x02 oper account because they are not connected using TLS.", + user->nick.c_str(), user->MakeHost().c_str(), user->GetIPString().c_str(), oper->GetName().c_str()); return MOD_RES_DENY; + } const std::string fingerprint = oper->GetConfig()->getString("fingerprint"); if (!fingerprint.empty() && (!cert || !MatchFP(cert, fingerprint))) + { + ServerInstance->SNO.WriteGlobalSno('o', "%s (%s) [%s] failed to log into the \x02%s\x02 oper account because they are not using the correct TLS client certificate.", + user->nick.c_str(), user->MakeHost().c_str(), user->GetIPString().c_str(), oper->GetName().c_str()); return MOD_RES_DENY; + } return MOD_RES_PASSTHRU; } -- cgit v1.3.1-10-gc9f91