mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 02:59:01 -04:00
m_rline Switch to OnUserRegister hook to disconnect banned users earlier
This commit is contained in:
parent
216877cc5b
commit
25d00181cd
@ -241,7 +241,7 @@ class ModuleRLine : public Module
|
||||
ServerInstance->Modules->AddService(r);
|
||||
ServerInstance->XLines->RegisterFactory(&f);
|
||||
|
||||
Implementation eventlist[] = { I_OnUserConnect, I_OnRehash, I_OnUserPostNick, I_OnStats, I_OnBackgroundTimer, I_OnUnloadModule };
|
||||
Implementation eventlist[] = { I_OnUserRegister, I_OnRehash, I_OnUserPostNick, I_OnStats, I_OnBackgroundTimer, I_OnUnloadModule };
|
||||
ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
|
||||
}
|
||||
|
||||
@ -256,7 +256,7 @@ class ModuleRLine : public Module
|
||||
return Version("RLINE: Regexp user banning.", VF_COMMON | VF_VENDOR, rxfactory ? rxfactory->name : "");
|
||||
}
|
||||
|
||||
virtual void OnUserConnect(LocalUser* user)
|
||||
ModResult OnUserRegister(LocalUser* user)
|
||||
{
|
||||
// Apply lines on user connect
|
||||
XLine *rl = ServerInstance->XLines->MatchesLine("R", user);
|
||||
@ -265,7 +265,9 @@ class ModuleRLine : public Module
|
||||
{
|
||||
// Bang. :P
|
||||
rl->Apply(user);
|
||||
return MOD_RES_DENY;
|
||||
}
|
||||
return MOD_RES_PASSTHRU;
|
||||
}
|
||||
|
||||
virtual void OnRehash(User *user)
|
||||
@ -349,6 +351,12 @@ class ModuleRLine : public Module
|
||||
ServerInstance->XLines->DelAll(f.GetType());
|
||||
}
|
||||
}
|
||||
|
||||
void Prioritize()
|
||||
{
|
||||
Module* mod = ServerInstance->Modules->Find("m_cgiirc.so");
|
||||
ServerInstance->Modules->SetPriority(this, I_OnUserRegister, PRIORITY_AFTER, mod);
|
||||
}
|
||||
};
|
||||
|
||||
MODULE_INIT(ModuleRLine)
|
||||
|
Loading…
x
Reference in New Issue
Block a user