summaryrefslogtreecommitdiff
path: root/src/modules/m_services_account.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_services_account.cpp')
-rw-r--r--src/modules/m_services_account.cpp9
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()