]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sasl.cpp
Implement support for configurable casemapping & default to ASCII.
[user/henk/code/inspircd.git] / src / modules / m_sasl.cpp
index 6ad9d77b71e68644628c3900a6123500cd902d2c..9272efe0ecf435c58cc2ade966d38e22797259ad 100644 (file)
 #include "modules/ssl.h"
 #include "modules/spanningtree.h"
 
+enum
+{
+       // From IRCv3 sasl-3.1
+       RPL_SASLSUCCESS = 903,
+       ERR_SASLFAIL = 904,
+       ERR_SASLABORTED = 906,
+       RPL_SASLMECHS = 908
+};
+
 static std::string sasl_target;
 
 class ServerTracker : public SpanningTreeEventListener
@@ -263,7 +272,7 @@ class SaslAuthenticator
                                this->result = this->GetSaslResult(msg[3]);
                        }
                        else if (msg[2] == "M")
-                               this->user->WriteNumeric(908, msg[3], "are available SASL mechanisms");
+                               this->user->WriteNumeric(RPL_SASLMECHS, msg[3], "are available SASL mechanisms");
                        else
                                ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "Services sent an unknown SASL message \"%s\" \"%s\"", msg[2].c_str(), msg[3].c_str());
 
@@ -315,13 +324,13 @@ class SaslAuthenticator
                switch (this->result)
                {
                 case SASL_OK:
-                       this->user->WriteNumeric(903, "SASL authentication successful");
+                       this->user->WriteNumeric(RPL_SASLSUCCESS, "SASL authentication successful");
                        break;
                 case SASL_ABORT:
-                       this->user->WriteNumeric(906, "SASL authentication aborted");
+                       this->user->WriteNumeric(ERR_SASLABORTED, "SASL authentication aborted");
                        break;
                 case SASL_FAIL:
-                       this->user->WriteNumeric(904, "SASL authentication failed");
+                       this->user->WriteNumeric(ERR_SASLFAIL, "SASL authentication failed");
                        break;
                 default:
                        break;
@@ -426,7 +435,7 @@ class ModuleSASL : public Module
        void init() CXX11_OVERRIDE
        {
                if (!ServerInstance->Modules->Find("m_services_account.so") || !ServerInstance->Modules->Find("m_cap.so"))
-                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "WARNING: m_services_account.so and m_cap.so are not loaded! m_sasl.so will NOT function correctly until these two modules are loaded!");
+                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "WARNING: m_services_account and m_cap are not loaded! m_sasl will NOT function correctly until these two modules are loaded!");
        }
 
        void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE