/**
* Tracks SASL authentication state like charybdis does. --nenolod
*/
-class SaslAuthenticator : public classbase
+class SaslAuthenticator
{
private:
InspIRCd *ServerInstance;
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, I_OnCleanup };
- ServerInstance->Modules->Attach(eventlist, this, 5);
+ Implementation eventlist[] = { I_OnEvent, I_OnUserRegister, I_OnPostConnect, I_OnUserDisconnect };
+ ServerInstance->Modules->Attach(eventlist, this, 4);
ServerInstance->AddCommand(&auth);
ServerInstance->AddCommand(&sasl);
- Extensible::Register(&authExt);
+ 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_)
Version GetVersion()
{
- return Version("Provides support for IRC Authentication Layer (aka: atheme SASL) via AUTHENTICATE.",VF_VENDOR,API_VERSION);
+ return Version("Provides support for IRC Authentication Layer (aka: atheme SASL) via AUTHENTICATE.",VF_VENDOR);
}
- void OnEvent(Event *ev)
+ void OnEvent(Event &ev)
{
cap.HandleEvent(ev);
}