From 054fd8de79ea8b8b9b198e9511df990aea7bd9ff Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Fri, 24 Mar 2023 11:22:09 +0000 Subject: Allow modules to provide an error for when a class doesn't match. --- src/modules/m_account.cpp | 2 +- src/modules/m_dnsbl.cpp | 2 +- src/modules/m_gateway.cpp | 2 +- src/modules/m_geoclass.cpp | 2 +- src/modules/m_ident.cpp | 2 +- src/modules/m_sslinfo.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/modules') diff --git a/src/modules/m_account.cpp b/src/modules/m_account.cpp index b33d98c14..38b3ec6b2 100644 --- a/src/modules/m_account.cpp +++ b/src/modules/m_account.cpp @@ -324,7 +324,7 @@ public: return MOD_RES_DENY; // Account required but it does not match. } - ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass) override + ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass, std::optional& errnum) override { const char* error = nullptr; if (stdalgo::string::equalsci(klass->config->getString("requireaccount"), "nick")) diff --git a/src/modules/m_dnsbl.cpp b/src/modules/m_dnsbl.cpp index 3d6a5074e..fb215c1b4 100644 --- a/src/modules/m_dnsbl.cpp +++ b/src/modules/m_dnsbl.cpp @@ -505,7 +505,7 @@ public: } } - ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass) override + ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass, std::optional& errnum) override { const std::string dnsbl = klass->config->getString("dnsbl"); if (!dnsbl.empty()) diff --git a/src/modules/m_gateway.cpp b/src/modules/m_gateway.cpp index af776d816..370c06337 100644 --- a/src/modules/m_gateway.cpp +++ b/src/modules/m_gateway.cpp @@ -406,7 +406,7 @@ public: cmdwebirc.hosts.swap(webirchosts); } - ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass) override + ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass, std::optional& errnum) override { // If is not set then we have nothing to do. const std::string webirc = klass->config->getString("webirc"); diff --git a/src/modules/m_geoclass.cpp b/src/modules/m_geoclass.cpp index f9de87033..e229d475c 100644 --- a/src/modules/m_geoclass.cpp +++ b/src/modules/m_geoclass.cpp @@ -36,7 +36,7 @@ public: { } - ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass) override + ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass, std::optional& errnum) override { const std::string country = klass->config->getString("country"); if (country.empty()) diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp index e08482d13..4e324d87c 100644 --- a/src/modules/m_ident.cpp +++ b/src/modules/m_ident.cpp @@ -403,7 +403,7 @@ public: return MOD_RES_PASSTHRU; } - ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass) override + ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass, std::optional& errnum) override { if (klass->config->getBool("requireident") && state.Get(user) != IDENT_FOUND) { diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp index 2531c5201..046481754 100644 --- a/src/modules/m_sslinfo.cpp +++ b/src/modules/m_sslinfo.cpp @@ -400,7 +400,7 @@ public: user->WriteNotice(text); } - ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass) override + ModResult OnPreChangeConnectClass(LocalUser* user, const std::shared_ptr& klass, std::optional& errnum) override { ssl_cert* cert = cmd.sslapi.GetCertificate(user); const char* error = nullptr; -- cgit v1.3.1-10-gc9f91