]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sasl.cpp
Hosts vector not cleared on rehash, made rehashing for changes impossible
[user/henk/code/inspircd.git] / src / modules / m_sasl.cpp
index 5bfcab01660b37ce30f311e58cad66d54a9ca764..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] == '*')
                {
@@ -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;
        }