summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_sasl.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/modules/m_sasl.cpp b/src/modules/m_sasl.cpp
index 049af329b..48da83aad 100644
--- a/src/modules/m_sasl.cpp
+++ b/src/modules/m_sasl.cpp
@@ -59,8 +59,8 @@ class ModuleSASL : public Module
ModuleSASL(InspIRCd* Me)
: Module(Me)
{
- Implementation eventlist[] = { I_OnEvent };
- ServerInstance->Modules->Attach(eventlist, this, 1);
+ Implementation eventlist[] = { I_OnEvent, I_OnUserRegister };
+ ServerInstance->Modules->Attach(eventlist, this, 2);
sasl = new CommandAuthenticate(ServerInstance, this);
ServerInstance->AddCommand(sasl);
@@ -69,6 +69,14 @@ class ModuleSASL : public Module
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!");
}
+ virtual int OnUserRegister(User *user)
+ {
+ if (user->GetExt("sasl"))
+ {
+ user->WriteServ("906 %s :SASL authentication aborted", user->nick);
+ user->Shrink("sasl");
+ }
+ }
virtual ~ModuleSASL()
{