diff options
Diffstat (limited to 'src/modules/m_services_account.cpp')
-rw-r--r-- | src/modules/m_services_account.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/m_services_account.cpp b/src/modules/m_services_account.cpp index 3f1913de4..175e18861 100644 --- a/src/modules/m_services_account.cpp +++ b/src/modules/m_services_account.cpp @@ -120,9 +120,9 @@ class ModuleServicesAccount : public Module ServerInstance->Modules->AddService(m5); ServerInstance->Modules->AddService(accountname); Implementation eventlist[] = { I_OnWhois, I_OnUserPreMessage, I_OnUserPreNotice, I_OnUserPreJoin, I_OnCheckBan, - I_OnDecodeMetaData, I_On005Numeric, I_OnUserPostNick }; + I_OnDecodeMetaData, I_On005Numeric, I_OnUserPostNick, I_OnSetConnectClass }; - ServerInstance->Modules->Attach(eventlist, this, 8); + ServerInstance->Modules->Attach(eventlist, this, 9); } void On005Numeric(std::string &t) @@ -272,8 +272,11 @@ class ModuleServicesAccount : public Module } } - ~ModuleServicesAccount() + ModResult OnSetConnectClass(LocalUser* user, ConnectClass* myclass) { + if (myclass->config->getBool("requireaccount") && !accountname.get(user)) + return MOD_RES_DENY; + return MOD_RES_PASSTHRU; } Version GetVersion() |