]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sasl.cpp
In visual studio, CRT crashes when strftime() is given an invalid format specifier...
[user/henk/code/inspircd.git] / src / modules / m_sasl.cpp
index ad24fa0d88fe9a5482b32791ecb84997075eb59e..259c3bd162002c4c8f6b302b2359633f03c611eb 100644 (file)
@@ -23,7 +23,7 @@ enum SaslResult { SASL_OK, SASL_FAIL, SASL_ABORT };
 /**
  * Tracks SASL authentication state like charybdis does. --nenolod
  */
-class SaslAuthenticator
+class SaslAuthenticator : public classbase
 {
  private:
        InspIRCd *ServerInstance;
@@ -48,8 +48,7 @@ class SaslAuthenticator
                params.push_back("S");
                params.push_back(method);
 
-               Event e((char*)&params, Creator, "send_encap");
-               e.Send(ServerInstance);
+               ServerInstance->PI->SendEncapsulatedData(params);
        }
 
        SaslResult GetSaslResult(std::string &result_)
@@ -117,8 +116,7 @@ class SaslAuthenticator
                for (int i = 0; i < pcnt; ++i)
                        params.push_back(parameters[i]);                
 
-               Event e((char*)&params, Creator, "send_encap");
-               e.Send(ServerInstance);
+               ServerInstance->PI->SendEncapsulatedData(params);
 
                if (*parameters[0] == '*')
                {
@@ -137,13 +135,13 @@ class SaslAuthenticator
                switch (this->result)
                {
                 case SASL_OK:
-                       this->user->WriteServ("903 %s :SASL authentication successful", this->user->nick);
+                       this->user->WriteNumeric(903, "%s :SASL authentication successful", this->user->nick);
                        break;
                 case SASL_ABORT:
-                       this->user->WriteServ("906 %s :SASL authentication aborted", this->user->nick);
+                       this->user->WriteNumeric(906, "%s :SASL authentication aborted", this->user->nick);
                        break;
                 case SASL_FAIL:
-                       this->user->WriteServ("904 %s :SASL authentication failed", this->user->nick);
+                       this->user->WriteNumeric(904, "%s :SASL authentication failed", this->user->nick);
                        break;
                 default:
                        break;
@@ -242,14 +240,8 @@ class ModuleSASL : public Module
                std::string* str = NULL;
 
                if (user->GetExt("accountname", str))
-               {
-                       std::deque<std::string> params;
-                       params.push_back(user->uuid);
-                       params.push_back("accountname");
-                       params.push_back(*str);
-                       Event e((char*)&params, this, "send_metadata");
-                       e.Send(ServerInstance);
-               }
+                       ServerInstance->PI->SendMetaData(user, TYPE_USER, "accountname", *str);
+
                return;
        }