]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sasl.cpp
Delete modewatchers when unloading modules that use them to keep the server from...
[user/henk/code/inspircd.git] / src / modules / m_sasl.cpp
index 8e1a73354782fef65ec538d5718b6fc62707aea2..07f6bb0ed1fbebbcbd3af66e05afeea4d7bfa0a4 100644 (file)
@@ -226,18 +226,17 @@ class ModuleSASL : public Module
        ModuleSASL()
                : authExt("sasl_auth", this), cap(this, "sasl"), auth(this, authExt, cap), sasl(this, authExt)
        {
-               Implementation eventlist[] = { I_OnEvent, I_OnUserRegister, I_OnPostConnect, I_OnUserDisconnect };
-               ServerInstance->Modules->Attach(eventlist, this, 4);
+               Implementation eventlist[] = { I_OnEvent, I_OnUserRegister };
+               ServerInstance->Modules->Attach(eventlist, this, 2);
 
-               ServerInstance->AddCommand(&auth);
-               ServerInstance->AddCommand(&sasl);
+               ServiceProvider* providelist[] = { &auth, &sasl, &authExt };
+               ServerInstance->Modules->AddServices(providelist, 3);
 
-               ServerInstance->Extensions.Register(&authExt);
                if (!ServerInstance->Modules->Find("m_services_account.so") || !ServerInstance->Modules->Find("m_cap.so"))
                        ServerInstance->Logs->Log("m_sasl", 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!");
        }
 
-       ModResult OnUserRegister(User *user)
+       ModResult OnUserRegister(LocalUser *user)
        {
                SaslAuthenticator *sasl_ = authExt.get(user);
                if (sasl_)