summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/base.h7
-rw-r--r--include/inspircd.h5
-rw-r--r--include/listmode.h4
-rw-r--r--include/modules.h20
-rw-r--r--include/modules/cap.h1
-rw-r--r--src/commands/cmd_dns.cpp5
-rw-r--r--src/commands/cmd_hostname_lookup.cpp6
-rw-r--r--src/commands/cmd_lusers.cpp1
-rw-r--r--src/commands/cmd_privmsg.cpp6
-rw-r--r--src/commands/cmd_whowas.cpp5
-rw-r--r--src/listmode.cpp5
-rw-r--r--src/modmanager_dynamic.cpp11
-rw-r--r--src/modmanager_static.cpp26
-rw-r--r--src/modules.cpp32
-rw-r--r--src/modules/extra/m_geoip.cpp2
-rw-r--r--src/modules/extra/m_ldapauth.cpp6
-rw-r--r--src/modules/extra/m_mssql.cpp2
-rw-r--r--src/modules/extra/m_regex_pcre.cpp1
-rw-r--r--src/modules/extra/m_regex_posix.cpp1
-rw-r--r--src/modules/extra/m_regex_re2.cpp1
-rw-r--r--src/modules/extra/m_regex_stdlib.cpp1
-rw-r--r--src/modules/extra/m_regex_tre.cpp1
-rw-r--r--src/modules/extra/m_ssl_gnutls.cpp3
-rw-r--r--src/modules/extra/m_ssl_openssl.cpp1
-rw-r--r--src/modules/m_allowinvite.cpp5
-rw-r--r--src/modules/m_alltime.cpp5
-rw-r--r--src/modules/m_auditorium.cpp5
-rw-r--r--src/modules/m_autoop.cpp6
-rw-r--r--src/modules/m_banexception.cpp7
-rw-r--r--src/modules/m_banredirect.cpp1
-rw-r--r--src/modules/m_blockamsg.cpp5
-rw-r--r--src/modules/m_blockcaps.cpp5
-rw-r--r--src/modules/m_blockcolor.cpp5
-rw-r--r--src/modules/m_botmode.cpp5
-rw-r--r--src/modules/m_callerid.cpp7
-rw-r--r--src/modules/m_cap.cpp6
-rw-r--r--src/modules/m_cban.cpp2
-rw-r--r--src/modules/m_censor.cpp6
-rw-r--r--src/modules/m_cgiirc.cpp6
-rw-r--r--src/modules/m_chanfilter.cpp7
-rw-r--r--src/modules/m_chanhistory.cpp6
-rw-r--r--src/modules/m_check.cpp5
-rw-r--r--src/modules/m_chghost.cpp5
-rw-r--r--src/modules/m_chgident.cpp5
-rw-r--r--src/modules/m_chgname.cpp5
-rw-r--r--src/modules/m_cloaking.cpp7
-rw-r--r--src/modules/m_clones.cpp5
-rw-r--r--src/modules/m_close.cpp5
-rw-r--r--src/modules/m_commonchans.cpp5
-rw-r--r--src/modules/m_conn_waitpong.cpp5
-rw-r--r--src/modules/m_customtitle.cpp6
-rw-r--r--src/modules/m_cycle.cpp5
-rw-r--r--src/modules/m_dccallow.cpp1
-rw-r--r--src/modules/m_deaf.cpp5
-rw-r--r--src/modules/m_delayjoin.cpp5
-rw-r--r--src/modules/m_delaymsg.cpp5
-rw-r--r--src/modules/m_devoice.cpp5
-rw-r--r--src/modules/m_dnsbl.cpp6
-rw-r--r--src/modules/m_exemptchanops.cpp1
-rw-r--r--src/modules/m_filter.cpp6
-rw-r--r--src/modules/m_globalload.cpp7
-rw-r--r--src/modules/m_globops.cpp1
-rw-r--r--src/modules/m_helpop.cpp6
-rw-r--r--src/modules/m_hidechans.cpp5
-rw-r--r--src/modules/m_hideoper.cpp5
-rw-r--r--src/modules/m_httpd.cpp1
-rw-r--r--src/modules/m_ident.cpp5
-rw-r--r--src/modules/m_inviteexception.cpp6
-rw-r--r--src/modules/m_joinflood.cpp6
-rw-r--r--src/modules/m_jumpserver.cpp5
-rw-r--r--src/modules/m_kicknorejoin.cpp6
-rw-r--r--src/modules/m_knock.cpp6
-rw-r--r--src/modules/m_lockserv.cpp2
-rw-r--r--src/modules/m_md5.cpp1
-rw-r--r--src/modules/m_messageflood.cpp6
-rw-r--r--src/modules/m_mlock.cpp5
-rw-r--r--src/modules/m_namedmodes.cpp6
-rw-r--r--src/modules/m_nickflood.cpp6
-rw-r--r--src/modules/m_nicklock.cpp7
-rw-r--r--src/modules/m_noctcp.cpp5
-rw-r--r--src/modules/m_nokicks.cpp5
-rw-r--r--src/modules/m_nonicks.cpp5
-rw-r--r--src/modules/m_nonotice.cpp5
-rw-r--r--src/modules/m_ojoin.cpp1
-rw-r--r--src/modules/m_operchans.cpp5
-rw-r--r--src/modules/m_opermotd.cpp5
-rw-r--r--src/modules/m_operprefix.cpp2
-rw-r--r--src/modules/m_password_hash.cpp5
-rw-r--r--src/modules/m_permchannels.cpp5
-rw-r--r--src/modules/m_redirect.cpp19
-rw-r--r--src/modules/m_regex_glob.cpp5
-rw-r--r--src/modules/m_remove.cpp6
-rw-r--r--src/modules/m_repeat.cpp7
-rw-r--r--src/modules/m_ripemd160.cpp1
-rw-r--r--src/modules/m_rline.cpp1
-rw-r--r--src/modules/m_rmode.cpp5
-rw-r--r--src/modules/m_sajoin.cpp5
-rw-r--r--src/modules/m_sakick.cpp5
-rw-r--r--src/modules/m_samode.cpp5
-rw-r--r--src/modules/m_sanick.cpp5
-rw-r--r--src/modules/m_sapart.cpp5
-rw-r--r--src/modules/m_saquit.cpp5
-rw-r--r--src/modules/m_sasl.cpp3
-rw-r--r--src/modules/m_satopic.cpp5
-rw-r--r--src/modules/m_services_account.cpp6
-rw-r--r--src/modules/m_servprotect.cpp5
-rw-r--r--src/modules/m_sethost.cpp5
-rw-r--r--src/modules/m_setident.cpp5
-rw-r--r--src/modules/m_setidle.cpp5
-rw-r--r--src/modules/m_setname.cpp5
-rw-r--r--src/modules/m_sha256.cpp1
-rw-r--r--src/modules/m_showwhois.cpp1
-rw-r--r--src/modules/m_shun.cpp1
-rw-r--r--src/modules/m_silence.cpp7
-rw-r--r--src/modules/m_spanningtree/main.cpp3
-rw-r--r--src/modules/m_spanningtree/servercommand.cpp1
-rw-r--r--src/modules/m_sqlauth.cpp5
-rw-r--r--src/modules/m_sslinfo.cpp7
-rw-r--r--src/modules/m_sslmodes.cpp5
-rw-r--r--src/modules/m_stripcolor.cpp6
-rw-r--r--src/modules/m_svshold.cpp1
-rw-r--r--src/modules/m_swhois.cpp6
-rw-r--r--src/modules/m_testnet.cpp1
-rw-r--r--src/modules/m_timedbans.cpp1
-rw-r--r--src/modules/m_tline.cpp5
-rw-r--r--src/modules/m_topiclock.cpp6
-rw-r--r--src/modules/m_uninvite.cpp5
-rw-r--r--src/modules/m_userip.cpp5
-rw-r--r--src/modules/m_vhost.cpp5
-rw-r--r--src/modules/m_watch.cpp7
130 files changed, 94 insertions, 567 deletions
diff --git a/include/base.h b/include/base.h
index c6d361576..86aa2769f 100644
--- a/include/base.h
+++ b/include/base.h
@@ -249,8 +249,11 @@ class CoreExport ServiceProvider : public classbase
const std::string name;
/** Type of service (must match object type) */
const ServiceType service;
- ServiceProvider(Module* Creator, const std::string& Name, ServiceType Type)
- : creator(Creator), name(Name), service(Type) {}
+ ServiceProvider(Module* Creator, const std::string& Name, ServiceType Type);
virtual ~ServiceProvider();
+
+ /** If called, this ServiceProvider won't be registered automatically
+ */
+ void DisableAutoRegister();
};
diff --git a/include/inspircd.h b/include/inspircd.h
index 694869423..2e4b02fac 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -714,11 +714,6 @@ class CommandModule : public Module
{
}
- void init()
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion()
{
return Version(cmd.name, VF_VENDOR|VF_CORE);
diff --git a/include/listmode.h b/include/listmode.h
index e27071eac..e6ca88d4c 100644
--- a/include/listmode.h
+++ b/include/listmode.h
@@ -157,10 +157,6 @@ class CoreExport ListModeBase : public ModeHandler
*/
virtual void DoRehash();
- /** Populate the Implements list with the correct events for a List Mode
- */
- virtual void DoImplements(Module* m);
-
/** Handle the list mode.
* See mode.h
*/
diff --git a/include/modules.h b/include/modules.h
index 1d9d16f26..e8f0d10fe 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -1168,6 +1168,9 @@ typedef IntModuleList::iterator EventHandlerIter;
*/
class CoreExport ModuleManager
{
+ public:
+ typedef std::vector<ServiceProvider*> ServiceList;
+
private:
/** Holds a string describing the last module error to occur
*/
@@ -1189,7 +1192,7 @@ class CoreExport ModuleManager
/** Loads all core modules (cmd_*)
*/
- void LoadCoreModules();
+ void LoadCoreModules(std::map<std::string, ServiceList>& servicemap);
/** Calls the Prioritize() method in all loaded modules
* @return True if all went well, false if a dependency loop was detected
@@ -1207,6 +1210,16 @@ class CoreExport ModuleManager
/** List of data services keyed by name */
std::multimap<std::string, ServiceProvider*> DataProviders;
+ /** A list of ServiceProviders waiting to be registered.
+ * Non-NULL when constructing a Module, NULL otherwise.
+ * When non-NULL ServiceProviders add themselves to this list on creation and the core
+ * automatically registers them (that is, call AddService()) after the Module is constructed,
+ * and before Module::init() is called.
+ * If a service is created after the construction of the Module (for example in init()) it
+ * has to be registered manually.
+ */
+ ServiceList* NewServices;
+
/** Simple, bog-standard, boring constructor.
*/
ModuleManager();
@@ -1328,6 +1341,11 @@ class CoreExport ModuleManager
/** Unregister a service provided by a module */
void DelService(ServiceProvider&);
+ /** Register all services in a given ServiceList
+ * @param list The list containing the services to register
+ */
+ void AddServices(const ServiceList& list);
+
inline void AddServices(ServiceProvider** list, int count)
{
for(int i=0; i < count; i++)
diff --git a/include/modules/cap.h b/include/modules/cap.h
index 2ed8df494..7fa5fa969 100644
--- a/include/modules/cap.h
+++ b/include/modules/cap.h
@@ -45,7 +45,6 @@ class GenericCap
const std::string cap;
GenericCap(Module* parent, const std::string &Cap) : ext("cap_" + Cap, parent), cap(Cap)
{
- ServerInstance->Modules->AddService(ext);
}
void HandleEvent(Event& ev)
diff --git a/src/commands/cmd_dns.cpp b/src/commands/cmd_dns.cpp
index f97d68783..f9ec8e990 100644
--- a/src/commands/cmd_dns.cpp
+++ b/src/commands/cmd_dns.cpp
@@ -795,11 +795,6 @@ class ModuleDNS : public Module
{
}
- void init()
- {
- ServerInstance->Modules->AddService(this->manager);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
std::string oldserver = DNSServer;
diff --git a/src/commands/cmd_hostname_lookup.cpp b/src/commands/cmd_hostname_lookup.cpp
index f352443d0..3287f3662 100644
--- a/src/commands/cmd_hostname_lookup.cpp
+++ b/src/commands/cmd_hostname_lookup.cpp
@@ -191,12 +191,6 @@ class ModuleHostnameLookup : public Module
ph = &ptrHosts;
}
- void init()
- {
- ServerInstance->Modules->AddService(this->dnsLookup);
- ServerInstance->Modules->AddService(this->ptrHosts);
- }
-
void OnUserInit(LocalUser *user)
{
if (!DNS || !user->MyClass->resolvehostnames)
diff --git a/src/commands/cmd_lusers.cpp b/src/commands/cmd_lusers.cpp
index 06419733d..63ce032d1 100644
--- a/src/commands/cmd_lusers.cpp
+++ b/src/commands/cmd_lusers.cpp
@@ -156,7 +156,6 @@ class ModuleLusers : public Module
void init()
{
- ServerInstance->Modules->AddService(cmd);
ServerInstance->Modes->AddModeWatcher(&mw);
}
diff --git a/src/commands/cmd_privmsg.cpp b/src/commands/cmd_privmsg.cpp
index ed98c771f..5a8e23e9b 100644
--- a/src/commands/cmd_privmsg.cpp
+++ b/src/commands/cmd_privmsg.cpp
@@ -269,12 +269,6 @@ class ModuleCoreMessage : public Module
{
}
- void init()
- {
- ServerInstance->Modules->AddService(CommandPrivmsg);
- ServerInstance->Modules->AddService(CommandNotice);
- }
-
Version GetVersion()
{
return Version("PRIVMSG, NOTICE", VF_CORE|VF_VENDOR);
diff --git a/src/commands/cmd_whowas.cpp b/src/commands/cmd_whowas.cpp
index ea1020fbc..175b2bdf3 100644
--- a/src/commands/cmd_whowas.cpp
+++ b/src/commands/cmd_whowas.cpp
@@ -228,11 +228,6 @@ class ModuleWhoWas : public Module
{
}
- void init()
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
void OnGarbageCollect()
{
// Remove all entries older than MaxKeep
diff --git a/src/listmode.cpp b/src/listmode.cpp
index a377f19e3..f7890f9ad 100644
--- a/src/listmode.cpp
+++ b/src/listmode.cpp
@@ -89,11 +89,6 @@ void ListModeBase::DoRehash()
}
}
-void ListModeBase::DoImplements(Module* m)
-{
- ServerInstance->Modules->AddService(extItem);
-}
-
unsigned int ListModeBase::FindLimit(const std::string& channame)
{
for (limitlist::iterator it = chanlimits.begin(); it != chanlimits.end(); ++it)
diff --git a/src/modmanager_dynamic.cpp b/src/modmanager_dynamic.cpp
index 7789c90bf..de2593d72 100644
--- a/src/modmanager_dynamic.cpp
+++ b/src/modmanager_dynamic.cpp
@@ -55,10 +55,14 @@ bool ModuleManager::Load(const std::string& filename, bool defer)
Module* newmod = NULL;
DLLManager* newhandle = new DLLManager(moduleFile.c_str());
+ ServiceList newservices;
+ if (!defer)
+ this->NewServices = &newservices;
try
{
newmod = newhandle->CallInit();
+ this->NewServices = NULL;
if (newmod)
{
@@ -77,6 +81,7 @@ bool ModuleManager::Load(const std::string& filename, bool defer)
ConfigStatus confstatus;
AttachAll(newmod);
+ AddServices(newservices);
newmod->init();
newmod->ReadConfig(confstatus);
@@ -95,6 +100,8 @@ bool ModuleManager::Load(const std::string& filename, bool defer)
}
catch (CoreException& modexcept)
{
+ this->NewServices = NULL;
+
// failure in module constructor
if (newmod)
{
@@ -118,7 +125,7 @@ bool ModuleManager::Load(const std::string& filename, bool defer)
}
/* We must load the modules AFTER initializing the socket engine, now */
-void ModuleManager::LoadCoreModules()
+void ModuleManager::LoadCoreModules(std::map<std::string, ServiceList>& servicemap)
{
std::cout << std::endl << "Loading core commands";
fflush(stdout);
@@ -134,6 +141,8 @@ void ModuleManager::LoadCoreModules()
std::cout << ".";
fflush(stdout);
+ this->NewServices = &servicemap[entry->d_name];
+
if (!Load(entry->d_name, true))
{
ServerInstance->Logs->Log("MODULE", LOG_DEFAULT, this->LastError());
diff --git a/src/modmanager_static.cpp b/src/modmanager_static.cpp
index 7d6c89258..76f16fa92 100644
--- a/src/modmanager_static.cpp
+++ b/src/modmanager_static.cpp
@@ -58,7 +58,6 @@ class AllModule : public Module
{
Command* c = (*i)(this);
cmds.push_back(c);
- ServerInstance->Modules->AddService(*c);
}
}
catch (...)
@@ -88,6 +87,11 @@ bool ModuleManager::Load(const std::string& name, bool defer)
if (it == modlist->end())
return false;
Module* mod = NULL;
+
+ ServiceList newservices;
+ if (!defer)
+ this->NewServices = &newservices;
+
try
{
mod = (*it->second->init)();
@@ -95,6 +99,7 @@ bool ModuleManager::Load(const std::string& name, bool defer)
mod->ModuleDLLManager = NULL;
mod->dying = false;
Modules[name] = mod;
+ this->NewServices = NULL;
if (defer)
{
ServerInstance->Logs->Log("MODULE", LOG_DEFAULT, "New module introduced: %s", name.c_str());
@@ -105,12 +110,15 @@ bool ModuleManager::Load(const std::string& name, bool defer)
ConfigStatus confstatus;
AttachAll(mod);
+ AddServices(newservices);
mod->init();
mod->ReadConfig(confstatus);
}
}
catch (CoreException& modexcept)
{
+ this->NewServices = NULL;
+
if (mod)
DoSafeUnload(mod);
ServerInstance->Logs->Log("MODULE", LOG_DEFAULT, "Unable to load " + name + ": " + modexcept.GetReason());
@@ -123,12 +131,18 @@ bool ModuleManager::Load(const std::string& name, bool defer)
return true;
}
-void ModuleManager::LoadCoreModules()
+void ModuleManager::LoadCoreModules(std::map<std::string, ServiceList>& servicemap)
{
- Load("cmd_all.so", true);
- Load("cmd_whowas.so", true);
- Load("cmd_lusers.so", true);
- Load("cmd_privmsg.so", true);
+ for (modmap::const_iterator i = modlist->begin(); i != modlist->end(); ++i)
+ {
+ const std::string modname = i->first;
+ if (modname[0] == 'c')
+ {
+ this->NewServices = &servicemap[modname];
+ Load(modname, true);
+ }
+ }
+ this->NewServices = NULL;
}
#endif
diff --git a/src/modules.cpp b/src/modules.cpp
index 15e393099..8255049b1 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -163,6 +163,24 @@ ModResult Module::OnAcceptConnection(int, ListenSocket*, irc::sockets::sockadd
void Module::OnSendWhoLine(User*, const std::vector<std::string>&, User*, std::string&) { DetachEvent(I_OnSendWhoLine); }
void Module::OnSetUserIP(LocalUser*) { DetachEvent(I_OnSetUserIP); }
+ServiceProvider::ServiceProvider(Module* Creator, const std::string& Name, ServiceType Type)
+ : creator(Creator), name(Name), service(Type)
+{
+ if ((ServerInstance) && (ServerInstance->Modules->NewServices))
+ ServerInstance->Modules->NewServices->push_back(this);
+}
+
+void ServiceProvider::DisableAutoRegister()
+{
+ if ((ServerInstance) && (ServerInstance->Modules->NewServices))
+ {
+ ModuleManager::ServiceList& list = *ServerInstance->Modules->NewServices;
+ ModuleManager::ServiceList::iterator it = std::find(list.begin(), list.end(), this);
+ if (it != list.end())
+ list.erase(it);
+ }
+}
+
ModuleManager::ModuleManager()
{
}
@@ -494,13 +512,15 @@ void ModuleManager::Reload(Module* mod, HandlerBase1<void, bool>* callback)
void ModuleManager::LoadAll()
{
- LoadCoreModules();
+ std::map<std::string, ServiceList> servicemap;
+ LoadCoreModules(servicemap);
ConfigTagList tags = ServerInstance->Config->ConfTags("module");
for (ConfigIter i = tags.first; i != tags.second; ++i)
{
ConfigTag* tag = i->second;
std::string name = tag->getString("name");
+ this->NewServices = &servicemap[name];
std::cout << "[" << con_green << "*" << con_reset << "] Loading module:\t" << con_green << name << con_reset << std::endl;
if (!this->Load(name, true))
@@ -520,6 +540,7 @@ void ModuleManager::LoadAll()
{
ServerInstance->Logs->Log("MODULE", LOG_DEBUG, "Initializing %s", i->first.c_str());
AttachAll(mod);
+ AddServices(servicemap[i->first]);
mod->init();
mod->ReadConfig(confstatus);
}
@@ -541,6 +562,15 @@ std::string& ModuleManager::LastError()
return LastModuleError;
}
+void ModuleManager::AddServices(const ServiceList& list)
+{
+ for (ServiceList::const_iterator i = list.begin(); i != list.end(); ++i)
+ {
+ ServiceProvider& s = **i;
+ AddService(s);
+ }
+}
+
void ModuleManager::AddService(ServiceProvider& item)
{
switch (item.service)
diff --git a/src/modules/extra/m_geoip.cpp b/src/modules/extra/m_geoip.cpp
index 50df9fc26..142c5fbcf 100644
--- a/src/modules/extra/m_geoip.cpp
+++ b/src/modules/extra/m_geoip.cpp
@@ -56,8 +56,6 @@ class ModuleGeoIP : public Module
if (gi == NULL)
throw ModuleException("Unable to initialize geoip, are you missing GeoIP.dat?");
- ServerInstance->Modules->AddService(ext);
-
for (LocalUserList::const_iterator i = ServerInstance->Users->local_users.begin(); i != ServerInstance->Users->local_users.end(); ++i)
{
LocalUser* user = *i;
diff --git a/src/modules/extra/m_ldapauth.cpp b/src/modules/extra/m_ldapauth.cpp
index 827179f84..d1690850d 100644
--- a/src/modules/extra/m_ldapauth.cpp
+++ b/src/modules/extra/m_ldapauth.cpp
@@ -118,12 +118,6 @@ public:
conn = NULL;
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(ldapAuthed);
- ServerInstance->Modules->AddService(ldapVhost);
- }
-
~ModuleLDAPAuth()
{
if (conn)
diff --git a/src/modules/extra/m_mssql.cpp b/src/modules/extra/m_mssql.cpp
index 84e02be98..8f8fe080f 100644
--- a/src/modules/extra/m_mssql.cpp
+++ b/src/modules/extra/m_mssql.cpp
@@ -656,8 +656,6 @@ class ModuleMsSQL : public Module
ReadConf();
ServerInstance->Threads->Start(queryDispatcher);
-
- ServerInstance->Modules->AddService(sqlserv);
}
~ModuleMsSQL()
diff --git a/src/modules/extra/m_regex_pcre.cpp b/src/modules/extra/m_regex_pcre.cpp
index 91c2d1404..9ae6719ba 100644
--- a/src/modules/extra/m_regex_pcre.cpp
+++ b/src/modules/extra/m_regex_pcre.cpp
@@ -73,7 +73,6 @@ class ModuleRegexPCRE : public Module
PCREFactory ref;
ModuleRegexPCRE() : ref(this)
{
- ServerInstance->Modules->AddService(ref);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/extra/m_regex_posix.cpp b/src/modules/extra/m_regex_posix.cpp
index bde5c3947..b5fddfab8 100644
--- a/src/modules/extra/m_regex_posix.cpp
+++ b/src/modules/extra/m_regex_posix.cpp
@@ -78,7 +78,6 @@ class ModuleRegexPOSIX : public Module
public:
ModuleRegexPOSIX() : ref(this)
{
- ServerInstance->Modules->AddService(ref);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/extra/m_regex_re2.cpp b/src/modules/extra/m_regex_re2.cpp
index 2525b70ab..544e3060e 100644
--- a/src/modules/extra/m_regex_re2.cpp
+++ b/src/modules/extra/m_regex_re2.cpp
@@ -66,7 +66,6 @@ class ModuleRegexRE2 : public Module
public:
ModuleRegexRE2() : ref(this)
{
- ServerInstance->Modules->AddService(ref);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/extra/m_regex_stdlib.cpp b/src/modules/extra/m_regex_stdlib.cpp
index 2f75a60a8..8e7bd0da2 100644
--- a/src/modules/extra/m_regex_stdlib.cpp
+++ b/src/modules/extra/m_regex_stdlib.cpp
@@ -61,7 +61,6 @@ public:
StdRegexFactory ref;
ModuleRegexStd() : ref(this)
{
- ServerInstance->Modules->AddService(ref);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/extra/m_regex_tre.cpp b/src/modules/extra/m_regex_tre.cpp
index 92f2ad990..8a1d54248 100644
--- a/src/modules/extra/m_regex_tre.cpp
+++ b/src/modules/extra/m_regex_tre.cpp
@@ -80,7 +80,6 @@ class ModuleRegexTRE : public Module
public:
ModuleRegexTRE() : trf(this)
{
- ServerInstance->Modules->AddService(trf);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp
index 9f21d6d28..5c30d6f57 100644
--- a/src/modules/extra/m_ssl_gnutls.cpp
+++ b/src/modules/extra/m_ssl_gnutls.cpp
@@ -633,9 +633,6 @@ class ModuleSSLGnuTLS : public Module
// Void return, guess we assume success
gnutls_certificate_set_dh_params(iohook.x509_cred, dh_params);
-
- ServerInstance->Modules->AddService(iohook);
- ServerInstance->Modules->AddService(starttls);
}
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp
index 0957b5912..7acbcfc18 100644
--- a/src/modules/extra/m_ssl_openssl.cpp
+++ b/src/modules/extra/m_ssl_openssl.cpp
@@ -490,7 +490,6 @@ class ModuleSSLOpenSSL : public Module
{
// Needs the flag as it ignores a plain /rehash
OnModuleRehash(NULL,"ssl");
- ServerInstance->Modules->AddService(iohook);
}
void OnHookIO(StreamSocket* user, ListenSocket* lsb) CXX11_OVERRIDE
diff --git a/src/modules/m_allowinvite.cpp b/src/modules/m_allowinvite.cpp
index a33bee832..f4b2f14d4 100644
--- a/src/modules/m_allowinvite.cpp
+++ b/src/modules/m_allowinvite.cpp
@@ -34,11 +34,6 @@ class ModuleAllowInvite : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(ni);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["EXTBAN"].push_back('A');
diff --git a/src/modules/m_alltime.cpp b/src/modules/m_alltime.cpp
index dac3a4c8e..58f7c4fb5 100644
--- a/src/modules/m_alltime.cpp
+++ b/src/modules/m_alltime.cpp
@@ -58,11 +58,6 @@ class Modulealltime : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(mycommand);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Display timestamps from all servers connected to the network", VF_OPTCOMMON | VF_VENDOR);
diff --git a/src/modules/m_auditorium.cpp b/src/modules/m_auditorium.cpp
index 00227c66e..0adfe77aa 100644
--- a/src/modules/m_auditorium.cpp
+++ b/src/modules/m_auditorium.cpp
@@ -51,11 +51,6 @@ class ModuleAuditorium : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(aum);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
ConfigTag* tag = ServerInstance->Config->ConfValue("auditorium");
diff --git a/src/modules/m_autoop.cpp b/src/modules/m_autoop.cpp
index 32e097188..8ecee9578 100644
--- a/src/modules/m_autoop.cpp
+++ b/src/modules/m_autoop.cpp
@@ -85,12 +85,6 @@ class ModuleAutoOp : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(mh);
- mh.DoImplements(this);
- }
-
void OnPostJoin(Membership *memb) CXX11_OVERRIDE
{
if (!IS_LOCAL(memb->user))
diff --git a/src/modules/m_banexception.cpp b/src/modules/m_banexception.cpp
index ad4244945..62742a527 100644
--- a/src/modules/m_banexception.cpp
+++ b/src/modules/m_banexception.cpp
@@ -51,13 +51,6 @@ class ModuleBanException : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(be);
-
- be.DoImplements(this);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["EXCEPTS"] = "e";
diff --git a/src/modules/m_banredirect.cpp b/src/modules/m_banredirect.cpp
index 73d8270d1..7ba54a9f5 100644
--- a/src/modules/m_banredirect.cpp
+++ b/src/modules/m_banredirect.cpp
@@ -232,7 +232,6 @@ class ModuleBanRedirect : public Module
void init() CXX11_OVERRIDE
{
ServerInstance->Modes->AddModeWatcher(&re);
- ServerInstance->Modules->AddService(re.extItem);
}
void OnCleanup(int target_type, void* item) CXX11_OVERRIDE
diff --git a/src/modules/m_blockamsg.cpp b/src/modules/m_blockamsg.cpp
index 963f94fc2..833828233 100644
--- a/src/modules/m_blockamsg.cpp
+++ b/src/modules/m_blockamsg.cpp
@@ -57,11 +57,6 @@ class ModuleBlockAmsg : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(blockamsg);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Attempt to block /amsg, at least some of the irritating mIRC scripts.",VF_VENDOR);
diff --git a/src/modules/m_blockcaps.cpp b/src/modules/m_blockcaps.cpp
index c3c8b2297..afc559d76 100644
--- a/src/modules/m_blockcaps.cpp
+++ b/src/modules/m_blockcaps.cpp
@@ -43,11 +43,6 @@ public:
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(bc);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["EXTBAN"].push_back('B');
diff --git a/src/modules/m_blockcolor.cpp b/src/modules/m_blockcolor.cpp
index 6e04e53da..cfad33268 100644
--- a/src/modules/m_blockcolor.cpp
+++ b/src/modules/m_blockcolor.cpp
@@ -40,11 +40,6 @@ class ModuleBlockColor : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(bc);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["EXTBAN"].push_back('c');
diff --git a/src/modules/m_botmode.cpp b/src/modules/m_botmode.cpp
index 7c2794789..370228488 100644
--- a/src/modules/m_botmode.cpp
+++ b/src/modules/m_botmode.cpp
@@ -38,11 +38,6 @@ class ModuleBotMode : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(bm);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides user mode +B to mark the user as a bot",VF_VENDOR);
diff --git a/src/modules/m_callerid.cpp b/src/modules/m_callerid.cpp
index de74773ad..4038639e6 100644
--- a/src/modules/m_callerid.cpp
+++ b/src/modules/m_callerid.cpp
@@ -361,13 +361,6 @@ public:
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(myumode);
- ServerInstance->Modules->AddService(cmd);
- ServerInstance->Modules->AddService(cmd.extInfo);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Implementation of callerid, usermode +g, /accept", VF_COMMON | VF_VENDOR);
diff --git a/src/modules/m_cap.cpp b/src/modules/m_cap.cpp
index 35c24fd23..21b2e5a7c 100644
--- a/src/modules/m_cap.cpp
+++ b/src/modules/m_cap.cpp
@@ -125,12 +125,6 @@ class ModuleCAP : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- ServerInstance->Modules->AddService(cmd.reghold);
- }
-
ModResult OnCheckReady(LocalUser* user) CXX11_OVERRIDE
{
/* Users in CAP state get held until CAP END */
diff --git a/src/modules/m_cban.cpp b/src/modules/m_cban.cpp
index 39a5d6266..263426f60 100644
--- a/src/modules/m_cban.cpp
+++ b/src/modules/m_cban.cpp
@@ -157,8 +157,6 @@ class ModuleCBan : public Module
void init() CXX11_OVERRIDE
{
ServerInstance->XLines->RegisterFactory(&f);
-
- ServerInstance->Modules->AddService(mycommand);
}
~ModuleCBan()
diff --git a/src/modules/m_censor.cpp b/src/modules/m_censor.cpp
index fe0321ab1..a4c3c86c0 100644
--- a/src/modules/m_censor.cpp
+++ b/src/modules/m_censor.cpp
@@ -53,12 +53,6 @@ class ModuleCensor : public Module
public:
ModuleCensor() : cu(this), cc(this) { }
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cu);
- ServerInstance->Modules->AddService(cc);
- }
-
// format of a config entry is <badword text="shit" replace="poo">
ModResult OnUserPreMessage(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list, MessageType msgtype) CXX11_OVERRIDE
{
diff --git a/src/modules/m_cgiirc.cpp b/src/modules/m_cgiirc.cpp
index 9fbc77850..9e67a4f08 100644
--- a/src/modules/m_cgiirc.cpp
+++ b/src/modules/m_cgiirc.cpp
@@ -234,12 +234,6 @@ public:
{
}
- void init() CXX11_OVERRIDE
- {
- ServiceProvider* providerlist[] = { &cmd, &cmd.realhost, &cmd.realip, &cmd.webirc_hostname, &cmd.webirc_ip, &waiting };
- ServerInstance->Modules->AddServices(providerlist, sizeof(providerlist)/sizeof(ServiceProvider*));
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
cmd.Hosts.clear();
diff --git a/src/modules/m_chanfilter.cpp b/src/modules/m_chanfilter.cpp
index 3a7ad9057..dc5718bde 100644
--- a/src/modules/m_chanfilter.cpp
+++ b/src/modules/m_chanfilter.cpp
@@ -75,13 +75,6 @@ class ModuleChanFilter : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cf);
-
- cf.DoImplements(this);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
hidemask = ServerInstance->Config->ConfValue("chanfilter")->getBool("hidemask");
diff --git a/src/modules/m_chanhistory.cpp b/src/modules/m_chanhistory.cpp
index 0e0841f67..24c6237b3 100644
--- a/src/modules/m_chanhistory.cpp
+++ b/src/modules/m_chanhistory.cpp
@@ -114,12 +114,6 @@ class ModuleChanHistory : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(m);
- ServerInstance->Modules->AddService(m.ext);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
ConfigTag* tag = ServerInstance->Config->ConfValue("chanhistory");
diff --git a/src/modules/m_check.cpp b/src/modules/m_check.cpp
index 258352979..cf99e6404 100644
--- a/src/modules/m_check.cpp
+++ b/src/modules/m_check.cpp
@@ -268,11 +268,6 @@ class ModuleCheck : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(mycommand);
- }
-
void ProtoSendMode(void* uv, TargetTypeFlags, void*, const std::vector<std::string>& result, const std::vector<TranslateType>&)
{
User* user = (User*)uv;
diff --git a/src/modules/m_chghost.cpp b/src/modules/m_chghost.cpp
index 4d8223d13..1748f516c 100644
--- a/src/modules/m_chghost.cpp
+++ b/src/modules/m_chghost.cpp
@@ -94,11 +94,6 @@ class ModuleChgHost : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
std::string hmap = ServerInstance->Config->ConfValue("hostname")->getString("charmap", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789");
diff --git a/src/modules/m_chgident.cpp b/src/modules/m_chgident.cpp
index b9de3e45b..6960a3ad8 100644
--- a/src/modules/m_chgident.cpp
+++ b/src/modules/m_chgident.cpp
@@ -86,11 +86,6 @@ public:
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for the CHGIDENT command", VF_OPTCOMMON | VF_VENDOR);
diff --git a/src/modules/m_chgname.cpp b/src/modules/m_chgname.cpp
index efcce1590..73381e719 100644
--- a/src/modules/m_chgname.cpp
+++ b/src/modules/m_chgname.cpp
@@ -82,11 +82,6 @@ public:
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for the CHGNAME command", VF_OPTCOMMON | VF_VENDOR);
diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp
index bef4e94b8..4c2c56318 100644
--- a/src/modules/m_cloaking.cpp
+++ b/src/modules/m_cloaking.cpp
@@ -146,13 +146,6 @@ class ModuleCloaking : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cu);
- ServerInstance->Modules->AddService(ck);
- ServerInstance->Modules->AddService(cu.ext);
- }
-
/** This function takes a domain name string and returns just the last two domain parts,
* or the last domain part if only two are available. Failing that it just returns what it was given.
*
diff --git a/src/modules/m_clones.cpp b/src/modules/m_clones.cpp
index ecdea5be0..1f505e9a2 100644
--- a/src/modules/m_clones.cpp
+++ b/src/modules/m_clones.cpp
@@ -69,11 +69,6 @@ class ModuleClones : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides the /CLONES command to retrieve information on clones.", VF_VENDOR);
diff --git a/src/modules/m_close.cpp b/src/modules/m_close.cpp
index 806a88640..0583eb201 100644
--- a/src/modules/m_close.cpp
+++ b/src/modules/m_close.cpp
@@ -70,11 +70,6 @@ class ModuleClose : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides /CLOSE functionality", VF_VENDOR);
diff --git a/src/modules/m_commonchans.cpp b/src/modules/m_commonchans.cpp
index 5871f5f9d..816c3acda 100644
--- a/src/modules/m_commonchans.cpp
+++ b/src/modules/m_commonchans.cpp
@@ -35,11 +35,6 @@ class ModulePrivacyMode : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(pm);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Adds user mode +c, which if set, users must be on a common channel with you to private message you", VF_VENDOR);
diff --git a/src/modules/m_conn_waitpong.cpp b/src/modules/m_conn_waitpong.cpp
index 76f41c4bf..496b04c2d 100644
--- a/src/modules/m_conn_waitpong.cpp
+++ b/src/modules/m_conn_waitpong.cpp
@@ -36,11 +36,6 @@ class ModuleWaitPong : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(ext);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
ConfigTag* tag = ServerInstance->Config->ConfValue("waitpong");
diff --git a/src/modules/m_customtitle.cpp b/src/modules/m_customtitle.cpp
index 5a3a925a3..67000e98e 100644
--- a/src/modules/m_customtitle.cpp
+++ b/src/modules/m_customtitle.cpp
@@ -79,12 +79,6 @@ class ModuleCustomTitle : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- ServerInstance->Modules->AddService(cmd.ctitle);
- }
-
// :kenny.chatspike.net 320 Brain Azhrarn :is getting paid to play games.
ModResult OnWhoisLine(User* user, User* dest, int &numeric, std::string &text) CXX11_OVERRIDE
{
diff --git a/src/modules/m_cycle.cpp b/src/modules/m_cycle.cpp
index 61deaf58b..4a7b0f644 100644
--- a/src/modules/m_cycle.cpp
+++ b/src/modules/m_cycle.cpp
@@ -88,11 +88,6 @@ class ModuleCycle : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides command CYCLE, acts as a server-side HOP command to part and rejoin a channel.", VF_VENDOR);
diff --git a/src/modules/m_dccallow.cpp b/src/modules/m_dccallow.cpp
index 169ba7203..c6cb09645 100644
--- a/src/modules/m_dccallow.cpp
+++ b/src/modules/m_dccallow.cpp
@@ -257,7 +257,6 @@ class ModuleDCCAllow : public Module
{
ext = new SimpleExtItem<dccallowlist>("dccallow", this);
ServerInstance->Modules->AddService(*ext);
- ServerInstance->Modules->AddService(cmd);
}
void OnUserQuit(User* user, const std::string &reason, const std::string &oper_message) CXX11_OVERRIDE
diff --git a/src/modules/m_deaf.cpp b/src/modules/m_deaf.cpp
index 3fdd2533e..468f1046a 100644
--- a/src/modules/m_deaf.cpp
+++ b/src/modules/m_deaf.cpp
@@ -53,11 +53,6 @@ class ModuleDeaf : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(m1);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
ConfigTag* tag = ServerInstance->Config->ConfValue("deaf");
diff --git a/src/modules/m_delayjoin.cpp b/src/modules/m_delayjoin.cpp
index 444cbbc39..70c6b8717 100644
--- a/src/modules/m_delayjoin.cpp
+++ b/src/modules/m_delayjoin.cpp
@@ -44,11 +44,6 @@ class ModuleDelayJoin : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(djm);
- ServerInstance->Modules->AddService(unjoined);
- }
Version GetVersion() CXX11_OVERRIDE;
void OnNamesListItem(User* issuer, Membership*, std::string &prefixes, std::string &nick) CXX11_OVERRIDE;
void OnUserJoin(Membership*, bool, bool, CUList&) CXX11_OVERRIDE;
diff --git a/src/modules/m_delaymsg.cpp b/src/modules/m_delaymsg.cpp
index 1e16647f3..ae0342e36 100644
--- a/src/modules/m_delaymsg.cpp
+++ b/src/modules/m_delaymsg.cpp
@@ -45,11 +45,6 @@ class ModuleDelayMsg : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(djm);
- ServerInstance->Modules->AddService(djm.jointime);
- }
Version GetVersion() CXX11_OVERRIDE;
void OnUserJoin(Membership* memb, bool sync, bool created, CUList&) CXX11_OVERRIDE;
ModResult OnUserPreMessage(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list, MessageType msgtype) CXX11_OVERRIDE;
diff --git a/src/modules/m_devoice.cpp b/src/modules/m_devoice.cpp
index e16a87336..901f77b1a 100644
--- a/src/modules/m_devoice.cpp
+++ b/src/modules/m_devoice.cpp
@@ -56,11 +56,6 @@ class ModuleDeVoice : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides voiced users with the ability to devoice themselves.", VF_VENDOR);
diff --git a/src/modules/m_dnsbl.cpp b/src/modules/m_dnsbl.cpp
index a785678b5..b77fb82a9 100644
--- a/src/modules/m_dnsbl.cpp
+++ b/src/modules/m_dnsbl.cpp
@@ -229,12 +229,6 @@ class ModuleDNSBL : public Module
public:
ModuleDNSBL() : DNS(this, "DNS"), nameExt("dnsbl_match", this), countExt("dnsbl_pending", this) { }
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(nameExt);
- ServerInstance->Modules->AddService(countExt);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides handling of DNS blacklists", VF_VENDOR);
diff --git a/src/modules/m_exemptchanops.cpp b/src/modules/m_exemptchanops.cpp
index 57057c411..068f503c3 100644
--- a/src/modules/m_exemptchanops.cpp
+++ b/src/modules/m_exemptchanops.cpp
@@ -115,7 +115,6 @@ class ModuleExemptChanOps : public Module
void init() CXX11_OVERRIDE
{
- ServerInstance->Modules->AddService(eh.ec);
ServerInstance->OnCheckExemption = &eh;
}
diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp
index ec75ebebb..5198cac18 100644
--- a/src/modules/m_filter.cpp
+++ b/src/modules/m_filter.cpp
@@ -177,7 +177,6 @@ class ModuleFilter : public Module
std::set<std::string> exemptfromfilter; // List of channel names excluded from filtering.
ModuleFilter();
- void init() CXX11_OVERRIDE;
CullResult cull();
ModResult OnUserPreMessage(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list, MessageType msgtype) CXX11_OVERRIDE;
FilterResult* FilterMatch(User* user, const std::string &text, int flags);
@@ -298,11 +297,6 @@ ModuleFilter::ModuleFilter()
{
}
-void ModuleFilter::init()
-{
- ServerInstance->Modules->AddService(filtcommand);
-}
-
CullResult ModuleFilter::cull()
{
FreeFilters();
diff --git a/src/modules/m_globalload.cpp b/src/modules/m_globalload.cpp
index 2c936d5ea..570aaa13b 100644
--- a/src/modules/m_globalload.cpp
+++ b/src/modules/m_globalload.cpp
@@ -184,13 +184,6 @@ class ModuleGlobalLoad : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd1);
- ServerInstance->Modules->AddService(cmd2);
- ServerInstance->Modules->AddService(cmd3);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Allows global loading of a module.", VF_COMMON | VF_VENDOR);
diff --git a/src/modules/m_globops.cpp b/src/modules/m_globops.cpp
index d74534ca1..1cb87324b 100644
--- a/src/modules/m_globops.cpp
+++ b/src/modules/m_globops.cpp
@@ -48,7 +48,6 @@ class ModuleGlobops : public Module
void init() CXX11_OVERRIDE
{
- ServerInstance->Modules->AddService(cmd);
ServerInstance->SNO->EnableSnomask('g',"GLOBOPS");
}
diff --git a/src/modules/m_helpop.cpp b/src/modules/m_helpop.cpp
index 6259636ce..f316d42d1 100644
--- a/src/modules/m_helpop.cpp
+++ b/src/modules/m_helpop.cpp
@@ -106,12 +106,6 @@ class ModuleHelpop : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(ho);
- ServerInstance->Modules->AddService(cmd);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
helpop_map.clear();
diff --git a/src/modules/m_hidechans.cpp b/src/modules/m_hidechans.cpp
index 1bf6c1866..cd3ac2c26 100644
--- a/src/modules/m_hidechans.cpp
+++ b/src/modules/m_hidechans.cpp
@@ -37,11 +37,6 @@ class ModuleHideChans : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(hm);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for hiding channels with user mode +I", VF_VENDOR);
diff --git a/src/modules/m_hideoper.cpp b/src/modules/m_hideoper.cpp
index ded6f6791..a7a701697 100644
--- a/src/modules/m_hideoper.cpp
+++ b/src/modules/m_hideoper.cpp
@@ -41,11 +41,6 @@ class ModuleHideOper : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(hm);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for hiding oper status with user mode +H", VF_VENDOR);
diff --git a/src/modules/m_httpd.cpp b/src/modules/m_httpd.cpp
index 9a5722c6a..5a71f8018 100644
--- a/src/modules/m_httpd.cpp
+++ b/src/modules/m_httpd.cpp
@@ -357,7 +357,6 @@ class ModuleHttpServer : public Module
void init() CXX11_OVERRIDE
{
HttpModule = this;
- ServerInstance->Modules->AddService(APIImpl);
}
ModResult OnAcceptConnection(int nfd, ListenSocket* from, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server) CXX11_OVERRIDE
diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp
index a9a62fecf..516287668 100644
--- a/src/modules/m_ident.cpp
+++ b/src/modules/m_ident.cpp
@@ -276,11 +276,6 @@ class ModuleIdent : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(ext);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for RFC1413 ident lookups", VF_VENDOR);
diff --git a/src/modules/m_inviteexception.cpp b/src/modules/m_inviteexception.cpp
index 2424808f6..08322f9cf 100644
--- a/src/modules/m_inviteexception.cpp
+++ b/src/modules/m_inviteexception.cpp
@@ -51,12 +51,6 @@ public:
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(ie);
- ie.DoImplements(this);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["INVEX"] = "I";
diff --git a/src/modules/m_joinflood.cpp b/src/modules/m_joinflood.cpp
index efb277f81..650a7eb2b 100644
--- a/src/modules/m_joinflood.cpp
+++ b/src/modules/m_joinflood.cpp
@@ -145,12 +145,6 @@ class ModuleJoinFlood : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(jf);
- ServerInstance->Modules->AddService(jf.ext);
- }
-
ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
{
if (chan)
diff --git a/src/modules/m_jumpserver.cpp b/src/modules/m_jumpserver.cpp
index c8a196832..3441bb073 100644
--- a/src/modules/m_jumpserver.cpp
+++ b/src/modules/m_jumpserver.cpp
@@ -152,11 +152,6 @@ class ModuleJumpServer : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(js);
- }
-
ModResult OnUserRegister(LocalUser* user) CXX11_OVERRIDE
{
if (js.redirect_new_users)
diff --git a/src/modules/m_kicknorejoin.cpp b/src/modules/m_kicknorejoin.cpp
index bb04610de..e51eb37a4 100644
--- a/src/modules/m_kicknorejoin.cpp
+++ b/src/modules/m_kicknorejoin.cpp
@@ -76,12 +76,6 @@ public:
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(kr);
- ServerInstance->Modules->AddService(kr.ext);
- }
-
ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
{
if (chan)
diff --git a/src/modules/m_knock.cpp b/src/modules/m_knock.cpp
index 79d8cddb6..36a6933dc 100644
--- a/src/modules/m_knock.cpp
+++ b/src/modules/m_knock.cpp
@@ -95,12 +95,6 @@ class ModuleKnock : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(kn);
- ServerInstance->Modules->AddService(cmd);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
std::string knocknotify = ServerInstance->Config->ConfValue("knock")->getString("notify");
diff --git a/src/modules/m_lockserv.cpp b/src/modules/m_lockserv.cpp
index a31e4d324..ea5ad52de 100644
--- a/src/modules/m_lockserv.cpp
+++ b/src/modules/m_lockserv.cpp
@@ -89,8 +89,6 @@ class ModuleLockserv : public Module
void init() CXX11_OVERRIDE
{
locked = false;
- ServerInstance->Modules->AddService(lockcommand);
- ServerInstance->Modules->AddService(unlockcommand);
}
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
diff --git a/src/modules/m_md5.cpp b/src/modules/m_md5.cpp
index dd72fe9ea..ecf76d07c 100644
--- a/src/modules/m_md5.cpp
+++ b/src/modules/m_md5.cpp
@@ -275,7 +275,6 @@ class ModuleMD5 : public Module
public:
ModuleMD5() : md5(this)
{
- ServerInstance->Modules->AddService(md5);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/m_messageflood.cpp b/src/modules/m_messageflood.cpp
index ef7bf9d52..ffac28137 100644
--- a/src/modules/m_messageflood.cpp
+++ b/src/modules/m_messageflood.cpp
@@ -124,12 +124,6 @@ class ModuleMsgFlood : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(mf);
- ServerInstance->Modules->AddService(mf.ext);
- }
-
ModResult ProcessMessages(User* user,Channel* dest, const std::string &text)
{
if ((!IS_LOCAL(user)) || !dest->IsModeSet(mf))
diff --git a/src/modules/m_mlock.cpp b/src/modules/m_mlock.cpp
index abcd79667..43eadf63e 100644
--- a/src/modules/m_mlock.cpp
+++ b/src/modules/m_mlock.cpp
@@ -26,11 +26,6 @@ class ModuleMLock : public Module
public:
ModuleMLock() : mlock("mlock", this) {};
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(this->mlock);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Implements the ability to have server-side MLOCK enforcement.", VF_VENDOR);
diff --git a/src/modules/m_namedmodes.cpp b/src/modules/m_namedmodes.cpp
index 8647cebb4..46ecb8bfd 100644
--- a/src/modules/m_namedmodes.cpp
+++ b/src/modules/m_namedmodes.cpp
@@ -103,12 +103,6 @@ class ModuleNamedModes : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- ServerInstance->Modules->AddService(dummyZ);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides the ability to manipulate modes via long names.",VF_VENDOR);
diff --git a/src/modules/m_nickflood.cpp b/src/modules/m_nickflood.cpp
index 66e7ca520..6526e6960 100644
--- a/src/modules/m_nickflood.cpp
+++ b/src/modules/m_nickflood.cpp
@@ -136,12 +136,6 @@ class ModuleNickFlood : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(nf);
- ServerInstance->Modules->AddService(nf.ext);
- }
-
ModResult OnUserPreNick(User* user, const std::string &newnick) CXX11_OVERRIDE
{
for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++)
diff --git a/src/modules/m_nicklock.cpp b/src/modules/m_nicklock.cpp
index 6c4101bc5..790df59c0 100644
--- a/src/modules/m_nicklock.cpp
+++ b/src/modules/m_nicklock.cpp
@@ -148,13 +148,6 @@ class ModuleNickLock : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd1);
- ServerInstance->Modules->AddService(cmd2);
- ServerInstance->Modules->AddService(locked);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides the NICKLOCK command, allows an oper to change a users nick and lock them to it until they quit", VF_OPTCOMMON | VF_VENDOR);
diff --git a/src/modules/m_noctcp.cpp b/src/modules/m_noctcp.cpp
index d791dca36..6be3d79af 100644
--- a/src/modules/m_noctcp.cpp
+++ b/src/modules/m_noctcp.cpp
@@ -37,11 +37,6 @@ class ModuleNoCTCP : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(nc);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides channel mode +C to block CTCPs", VF_VENDOR);
diff --git a/src/modules/m_nokicks.cpp b/src/modules/m_nokicks.cpp
index 5e58f002c..e9885f49e 100644
--- a/src/modules/m_nokicks.cpp
+++ b/src/modules/m_nokicks.cpp
@@ -38,11 +38,6 @@ class ModuleNoKicks : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(nk);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["EXTBAN"].push_back('Q');
diff --git a/src/modules/m_nonicks.cpp b/src/modules/m_nonicks.cpp
index b9010d330..3ae54f2eb 100644
--- a/src/modules/m_nonicks.cpp
+++ b/src/modules/m_nonicks.cpp
@@ -36,11 +36,6 @@ class ModuleNoNickChange : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(nn);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for channel mode +N & extban +b N: which prevents nick changes on channel", VF_VENDOR);
diff --git a/src/modules/m_nonotice.cpp b/src/modules/m_nonotice.cpp
index cf8da5f55..7aa30ea78 100644
--- a/src/modules/m_nonotice.cpp
+++ b/src/modules/m_nonotice.cpp
@@ -37,11 +37,6 @@ class ModuleNoNotice : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(nt);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["EXTBAN"].push_back('T');
diff --git a/src/modules/m_ojoin.cpp b/src/modules/m_ojoin.cpp
index 83a049480..54c7bfa73 100644
--- a/src/modules/m_ojoin.cpp
+++ b/src/modules/m_ojoin.cpp
@@ -138,7 +138,6 @@ class ModuleOjoin : public Module
mycommand.npmh = np;
ServerInstance->Modules->AddService(*np);
- ServerInstance->Modules->AddService(mycommand);
}
ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
diff --git a/src/modules/m_operchans.cpp b/src/modules/m_operchans.cpp
index 73ef130b9..20aa6dfea 100644
--- a/src/modules/m_operchans.cpp
+++ b/src/modules/m_operchans.cpp
@@ -40,11 +40,6 @@ class ModuleOperChans : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(oc);
- }
-
ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
{
if (chan && chan->IsModeSet(oc) && !user->IsOper())
diff --git a/src/modules/m_opermotd.cpp b/src/modules/m_opermotd.cpp
index 543fa6854..bd1853d43 100644
--- a/src/modules/m_opermotd.cpp
+++ b/src/modules/m_opermotd.cpp
@@ -80,11 +80,6 @@ class ModuleOpermotd : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Shows a message to opers after oper-up, adds /opermotd", VF_VENDOR | VF_OPTCOMMON);
diff --git a/src/modules/m_operprefix.cpp b/src/modules/m_operprefix.cpp
index 43346a4d0..23390baea 100644
--- a/src/modules/m_operprefix.cpp
+++ b/src/modules/m_operprefix.cpp
@@ -79,8 +79,6 @@ class ModuleOperPrefixMode : public Module
void init() CXX11_OVERRIDE
{
- ServerInstance->Modules->AddService(opm);
-
/* To give clients a chance to learn about the new prefix we don't give +y to opers
* right now. That means if the module was loaded after opers have joined channels
* they need to rejoin them in order to get the oper prefix.
diff --git a/src/modules/m_password_hash.cpp b/src/modules/m_password_hash.cpp
index c8532e2ff..0e3afb966 100644
--- a/src/modules/m_password_hash.cpp
+++ b/src/modules/m_password_hash.cpp
@@ -80,11 +80,6 @@ class ModuleOperHash : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
ModResult OnPassCompare(Extensible* ex, const std::string &data, const std::string &input, const std::string &hashtype) CXX11_OVERRIDE
{
if (hashtype.substr(0,5) == "hmac-")
diff --git a/src/modules/m_permchannels.cpp b/src/modules/m_permchannels.cpp
index ec04c7a45..2190a5206 100644
--- a/src/modules/m_permchannels.cpp
+++ b/src/modules/m_permchannels.cpp
@@ -166,11 +166,6 @@ public:
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(p);
- }
-
CullResult cull()
{
/*
diff --git a/src/modules/m_redirect.cpp b/src/modules/m_redirect.cpp
index 89097ade4..69fc5e136 100644
--- a/src/modules/m_redirect.cpp
+++ b/src/modules/m_redirect.cpp
@@ -88,7 +88,11 @@ class Redirect : public ModeHandler
class AntiRedirect : public SimpleUserModeHandler
{
public:
- AntiRedirect(Module* Creator) : SimpleUserModeHandler(Creator, "antiredirect", 'L') {}
+ AntiRedirect(Module* Creator) : SimpleUserModeHandler(Creator, "antiredirect", 'L')
+ {
+ if (!ServerInstance->Config->ConfValue("redirect")->getBool("antiredirect"))
+ DisableAutoRegister();
+ }
};
class ModuleRedirect : public Module
@@ -110,19 +114,6 @@ class ModuleRedirect : public Module
{
/* Setting this here so it isn't changable by rehasing the config later. */
UseUsermode = ServerInstance->Config->ConfValue("redirect")->getBool("antiredirect");
-
- /* Channel mode */
- ServerInstance->Modules->AddService(re);
-
- /* Check to see if the usermode is enabled in the config */
- if (UseUsermode)
- {
- /* Log noting that this breaks compatability. */
- ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "REDIRECT: Enabled usermode +L. This breaks linking with servers that do not have this enabled. This is disabled by default in the 2.0 branch but will be enabled in the next version.");
-
- /* Try to add the usermode */
- ServerInstance->Modules->AddService(re_u);
- }
}
ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
diff --git a/src/modules/m_regex_glob.cpp b/src/modules/m_regex_glob.cpp
index eb7cf4ece..9c3162885 100644
--- a/src/modules/m_regex_glob.cpp
+++ b/src/modules/m_regex_glob.cpp
@@ -49,8 +49,9 @@ class ModuleRegexGlob : public Module
{
GlobFactory gf;
public:
- ModuleRegexGlob() : gf(this) {
- ServerInstance->Modules->AddService(gf);
+ ModuleRegexGlob()
+ : gf(this)
+ {
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/m_remove.cpp b/src/modules/m_remove.cpp
index 4a8574a6a..48f0f0276 100644
--- a/src/modules/m_remove.cpp
+++ b/src/modules/m_remove.cpp
@@ -202,12 +202,6 @@ class ModuleRemove : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd1);
- ServerInstance->Modules->AddService(cmd2);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["REMOVE"];
diff --git a/src/modules/m_repeat.cpp b/src/modules/m_repeat.cpp
index 6ba65a767..69946ed0c 100644
--- a/src/modules/m_repeat.cpp
+++ b/src/modules/m_repeat.cpp
@@ -347,13 +347,6 @@ class RepeatModule : public Module
public:
RepeatModule() : rm(this) {}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(rm);
- ServerInstance->Modules->AddService(rm.ChanSet);
- ServerInstance->Modules->AddService(rm.MemberInfoExt);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
rm.ReadConfig();
diff --git a/src/modules/m_ripemd160.cpp b/src/modules/m_ripemd160.cpp
index 183b75452..41331543a 100644
--- a/src/modules/m_ripemd160.cpp
+++ b/src/modules/m_ripemd160.cpp
@@ -447,7 +447,6 @@ class ModuleRIPEMD160 : public Module
RIProv mr;
ModuleRIPEMD160() : mr(this)
{
- ServerInstance->Modules->AddService(mr);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp
index 01d8b753a..0bfdc3565 100644
--- a/src/modules/m_rline.cpp
+++ b/src/modules/m_rline.cpp
@@ -223,7 +223,6 @@ class ModuleRLine : public Module
void init() CXX11_OVERRIDE
{
- ServerInstance->Modules->AddService(r);
ServerInstance->XLines->RegisterFactory(&f);
}
diff --git a/src/modules/m_rmode.cpp b/src/modules/m_rmode.cpp
index 542df70a5..1bbbb37bf 100644
--- a/src/modules/m_rmode.cpp
+++ b/src/modules/m_rmode.cpp
@@ -113,11 +113,6 @@ class ModuleRMode : public Module
public:
ModuleRMode() : cmd(this) { }
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Allows glob-based removal of list modes", VF_VENDOR);
diff --git a/src/modules/m_sajoin.cpp b/src/modules/m_sajoin.cpp
index 9cc6a72d2..17d07cc05 100644
--- a/src/modules/m_sajoin.cpp
+++ b/src/modules/m_sajoin.cpp
@@ -108,11 +108,6 @@ class ModuleSajoin : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides command SAJOIN to allow opers to force-join users to channels", VF_OPTCOMMON | VF_VENDOR);
diff --git a/src/modules/m_sakick.cpp b/src/modules/m_sakick.cpp
index e7dd86d6f..92e56644a 100644
--- a/src/modules/m_sakick.cpp
+++ b/src/modules/m_sakick.cpp
@@ -105,11 +105,6 @@ class ModuleSakick : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides a SAKICK command", VF_OPTCOMMON|VF_VENDOR);
diff --git a/src/modules/m_samode.cpp b/src/modules/m_samode.cpp
index a549f89a7..129ad3f7b 100644
--- a/src/modules/m_samode.cpp
+++ b/src/modules/m_samode.cpp
@@ -61,11 +61,6 @@ class ModuleSaMode : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides command SAMODE to allow opers to change modes on channels and users", VF_VENDOR);
diff --git a/src/modules/m_sanick.cpp b/src/modules/m_sanick.cpp
index 82e8508dd..397115647 100644
--- a/src/modules/m_sanick.cpp
+++ b/src/modules/m_sanick.cpp
@@ -96,11 +96,6 @@ class ModuleSanick : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for SANICK command", VF_OPTCOMMON | VF_VENDOR);
diff --git a/src/modules/m_sapart.cpp b/src/modules/m_sapart.cpp
index c6137c561..07b79bfc9 100644
--- a/src/modules/m_sapart.cpp
+++ b/src/modules/m_sapart.cpp
@@ -107,11 +107,6 @@ class ModuleSapart : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides command SAPART to force-part users from a channel.", VF_OPTCOMMON | VF_VENDOR);
diff --git a/src/modules/m_saquit.cpp b/src/modules/m_saquit.cpp
index 8525a94fe..ffd07492f 100644
--- a/src/modules/m_saquit.cpp
+++ b/src/modules/m_saquit.cpp
@@ -77,11 +77,6 @@ class ModuleSaquit : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for an SAQUIT command, exits user with a reason", VF_OPTCOMMON | VF_VENDOR);
diff --git a/src/modules/m_sasl.cpp b/src/modules/m_sasl.cpp
index 1ef1fa073..6c9ba14e6 100644
--- a/src/modules/m_sasl.cpp
+++ b/src/modules/m_sasl.cpp
@@ -256,9 +256,6 @@ class ModuleSASL : public Module
void init() CXX11_OVERRIDE
{
- ServiceProvider* providelist[] = { &auth, &sasl, &authExt };
- ServerInstance->Modules->AddServices(providelist, 3);
-
if (!ServerInstance->Modules->Find("m_services_account.so") || !ServerInstance->Modules->Find("m_cap.so"))
ServerInstance->Logs->Log(MODNAME, LOG_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!");
}
diff --git a/src/modules/m_satopic.cpp b/src/modules/m_satopic.cpp
index 053f13789..620feb657 100644
--- a/src/modules/m_satopic.cpp
+++ b/src/modules/m_satopic.cpp
@@ -61,11 +61,6 @@ class ModuleSATopic : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides a SATOPIC command", VF_VENDOR);
diff --git a/src/modules/m_services_account.cpp b/src/modules/m_services_account.cpp
index 4f2125a97..2726f835c 100644
--- a/src/modules/m_services_account.cpp
+++ b/src/modules/m_services_account.cpp
@@ -116,12 +116,6 @@ class ModuleServicesAccount : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServiceProvider* providerlist[] = { &m1, &m2, &m3, &m4, &m5, &accountname };
- ServerInstance->Modules->AddServices(providerlist, sizeof(providerlist)/sizeof(ServiceProvider*));
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["EXTBAN"].push_back('R');
diff --git a/src/modules/m_servprotect.cpp b/src/modules/m_servprotect.cpp
index 2b550408c..e1b35e545 100644
--- a/src/modules/m_servprotect.cpp
+++ b/src/modules/m_servprotect.cpp
@@ -51,11 +51,6 @@ class ModuleServProtectMode : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(bm);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides usermode +k to protect services from kicks, kills, and mode changes.", VF_VENDOR);
diff --git a/src/modules/m_sethost.cpp b/src/modules/m_sethost.cpp
index 80953ee6f..ee0fc01e4 100644
--- a/src/modules/m_sethost.cpp
+++ b/src/modules/m_sethost.cpp
@@ -74,11 +74,6 @@ class ModuleSetHost : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
std::string hmap = ServerInstance->Config->ConfValue("hostname")->getString("charmap", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789");
diff --git a/src/modules/m_setident.cpp b/src/modules/m_setident.cpp
index 024421347..93dd4c332 100644
--- a/src/modules/m_setident.cpp
+++ b/src/modules/m_setident.cpp
@@ -63,11 +63,6 @@ class ModuleSetIdent : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for the SETIDENT command", VF_VENDOR);
diff --git a/src/modules/m_setidle.cpp b/src/modules/m_setidle.cpp
index e246b801f..c2d1ed0db 100644
--- a/src/modules/m_setidle.cpp
+++ b/src/modules/m_setidle.cpp
@@ -60,11 +60,6 @@ class ModuleSetIdle : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Allows opers to set their idle time", VF_VENDOR);
diff --git a/src/modules/m_setname.cpp b/src/modules/m_setname.cpp
index 4c9d6ae53..0e71840f7 100644
--- a/src/modules/m_setname.cpp
+++ b/src/modules/m_setname.cpp
@@ -59,11 +59,6 @@ class ModuleSetName : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for the SETNAME command", VF_VENDOR);
diff --git a/src/modules/m_sha256.cpp b/src/modules/m_sha256.cpp
index 82ac8c160..d2755bacc 100644
--- a/src/modules/m_sha256.cpp
+++ b/src/modules/m_sha256.cpp
@@ -263,7 +263,6 @@ class ModuleSHA256 : public Module
public:
ModuleSHA256() : sha(this)
{
- ServerInstance->Modules->AddService(sha);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/m_showwhois.cpp b/src/modules/m_showwhois.cpp
index bf3028c12..bedaf6236 100644
--- a/src/modules/m_showwhois.cpp
+++ b/src/modules/m_showwhois.cpp
@@ -86,7 +86,6 @@ class ModuleShowwhois : public Module
sw = new SeeWhois(this, OpersOnly);
ServerInstance->Modules->AddService(*sw);
- ServerInstance->Modules->AddService(cmd);
}
~ModuleShowwhois()
diff --git a/src/modules/m_shun.cpp b/src/modules/m_shun.cpp
index b5d579d00..f0524435b 100644
--- a/src/modules/m_shun.cpp
+++ b/src/modules/m_shun.cpp
@@ -180,7 +180,6 @@ class ModuleShun : public Module
void init() CXX11_OVERRIDE
{
ServerInstance->XLines->RegisterFactory(&f);
- ServerInstance->Modules->AddService(cmd);
}
~ModuleShun()
diff --git a/src/modules/m_silence.cpp b/src/modules/m_silence.cpp
index c17cd8e36..02005367d 100644
--- a/src/modules/m_silence.cpp
+++ b/src/modules/m_silence.cpp
@@ -299,13 +299,6 @@ class ModuleSilence : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmdsilence);
- ServerInstance->Modules->AddService(cmdsvssilence);
- ServerInstance->Modules->AddService(cmdsilence.ext);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
maxsilence = ServerInstance->Config->ConfValue("showwhois")->getInt("maxentries", 32);
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index 1e59e1607..fed55d4fd 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -59,9 +59,6 @@ void ModuleSpanningTree::init()
Utils = new SpanningTreeUtilities(this);
Utils->TreeRoot = new TreeServer;
commands = new SpanningTreeCommands(this);
- ServerInstance->Modules->AddService(commands->rconnect);
- ServerInstance->Modules->AddService(commands->rsquit);
- ServerInstance->Modules->AddService(commands->map);
delete ServerInstance->PI;
ServerInstance->PI = new SpanningTreeProtocolInterface;
diff --git a/src/modules/m_spanningtree/servercommand.cpp b/src/modules/m_spanningtree/servercommand.cpp
index fe5a38a9e..016788f51 100644
--- a/src/modules/m_spanningtree/servercommand.cpp
+++ b/src/modules/m_spanningtree/servercommand.cpp
@@ -24,6 +24,7 @@
ServerCommand::ServerCommand(Module* Creator, const std::string& Name, unsigned int MinParams, unsigned int MaxParams)
: CommandBase(Creator, Name, MinParams, MaxParams)
{
+ this->ServiceProvider::DisableAutoRegister();
ModuleSpanningTree* st = static_cast<ModuleSpanningTree*>(Creator);
st->CmdManager.AddCommand(this);
}
diff --git a/src/modules/m_sqlauth.cpp b/src/modules/m_sqlauth.cpp
index fe65d2805..0c055a085 100644
--- a/src/modules/m_sqlauth.cpp
+++ b/src/modules/m_sqlauth.cpp
@@ -81,11 +81,6 @@ class ModuleSQLAuth : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(pendingExt);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
ConfigTag* conf = ServerInstance->Config->ConfValue("sqlauth");
diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp
index c6fb2165c..b24814fe3 100644
--- a/src/modules/m_sslinfo.cpp
+++ b/src/modules/m_sslinfo.cpp
@@ -146,13 +146,6 @@ class ModuleSSLInfo : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(APIImpl);
- ServerInstance->Modules->AddService(cmd);
- ServerInstance->Modules->AddService(cmd.CertExt);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("SSL Certificate Utilities", VF_VENDOR);
diff --git a/src/modules/m_sslmodes.cpp b/src/modules/m_sslmodes.cpp
index 191ca10f1..790ed5b03 100644
--- a/src/modules/m_sslmodes.cpp
+++ b/src/modules/m_sslmodes.cpp
@@ -91,11 +91,6 @@ class ModuleSSLModes : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(sslm);
- }
-
ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
{
if(chan && chan->IsModeSet(sslm))
diff --git a/src/modules/m_stripcolor.cpp b/src/modules/m_stripcolor.cpp
index b50c22297..0d4bdb877 100644
--- a/src/modules/m_stripcolor.cpp
+++ b/src/modules/m_stripcolor.cpp
@@ -48,12 +48,6 @@ class ModuleStripColor : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(usc);
- ServerInstance->Modules->AddService(csc);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["EXTBAN"].push_back('S');
diff --git a/src/modules/m_svshold.cpp b/src/modules/m_svshold.cpp
index fc1eb5381..aeb622aed 100644
--- a/src/modules/m_svshold.cpp
+++ b/src/modules/m_svshold.cpp
@@ -157,7 +157,6 @@ class ModuleSVSHold : public Module
void init() CXX11_OVERRIDE
{
ServerInstance->XLines->RegisterFactory(&s);
- ServerInstance->Modules->AddService(cmd);
}
ModResult OnStats(char symbol, User* user, string_list &out) CXX11_OVERRIDE
diff --git a/src/modules/m_swhois.cpp b/src/modules/m_swhois.cpp
index c2659f6aa..aaa6ff5b4 100644
--- a/src/modules/m_swhois.cpp
+++ b/src/modules/m_swhois.cpp
@@ -88,12 +88,6 @@ class ModuleSWhois : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- ServerInstance->Modules->AddService(cmd.swhois);
- }
-
// :kenny.chatspike.net 320 Brain Azhrarn :is getting paid to play games.
ModResult OnWhoisLine(User* user, User* dest, int &numeric, std::string &text) CXX11_OVERRIDE
{
diff --git a/src/modules/m_testnet.cpp b/src/modules/m_testnet.cpp
index 4e99abd32..6e05ed681 100644
--- a/src/modules/m_testnet.cpp
+++ b/src/modules/m_testnet.cpp
@@ -56,7 +56,6 @@ class ModuleTest : public Module
{
if (!strstr(ServerInstance->Config->ServerName.c_str(), ".test"))
throw ModuleException("Don't load modules without reading their descriptions!");
- ServerInstance->Modules->AddService(cmd);
}
Version GetVersion() CXX11_OVERRIDE
diff --git a/src/modules/m_timedbans.cpp b/src/modules/m_timedbans.cpp
index 29691b338..0801c9c52 100644
--- a/src/modules/m_timedbans.cpp
+++ b/src/modules/m_timedbans.cpp
@@ -150,7 +150,6 @@ class ModuleTimedBans : public Module
void init() CXX11_OVERRIDE
{
- ServerInstance->Modules->AddService(cmd);
ServerInstance->Modes->AddModeWatcher(&banwatcher);
}
diff --git a/src/modules/m_tline.cpp b/src/modules/m_tline.cpp
index bf1476bb5..cf5814fd1 100644
--- a/src/modules/m_tline.cpp
+++ b/src/modules/m_tline.cpp
@@ -73,11 +73,6 @@ class ModuleTLine : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides /tline command used to test who a mask matches", VF_VENDOR);
diff --git a/src/modules/m_topiclock.cpp b/src/modules/m_topiclock.cpp
index 760283c95..2d539dcab 100644
--- a/src/modules/m_topiclock.cpp
+++ b/src/modules/m_topiclock.cpp
@@ -149,12 +149,6 @@ class ModuleTopicLock : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- ServerInstance->Modules->AddService(topiclock);
- }
-
ModResult OnPreTopicChange(User* user, Channel* chan, const std::string &topic) CXX11_OVERRIDE
{
// Only fired for local users currently, but added a check anyway
diff --git a/src/modules/m_uninvite.cpp b/src/modules/m_uninvite.cpp
index 3ee23c95a..7404fa45c 100644
--- a/src/modules/m_uninvite.cpp
+++ b/src/modules/m_uninvite.cpp
@@ -102,11 +102,6 @@ class ModuleUninvite : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides the UNINVITE command which lets users un-invite other users from channels", VF_VENDOR | VF_OPTCOMMON);
diff --git a/src/modules/m_userip.cpp b/src/modules/m_userip.cpp
index 79e69ec5e..e8d08d346 100644
--- a/src/modules/m_userip.cpp
+++ b/src/modules/m_userip.cpp
@@ -85,11 +85,6 @@ class ModuleUserIP : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
{
tokens["USERIP"];
diff --git a/src/modules/m_vhost.cpp b/src/modules/m_vhost.cpp
index e938da297..2e25849ae 100644
--- a/src/modules/m_vhost.cpp
+++ b/src/modules/m_vhost.cpp
@@ -68,11 +68,6 @@ class ModuleVHost : public Module
{
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmd);
- }
-
Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides masking of user hostnames via traditional /VHOST command",VF_VENDOR);
diff --git a/src/modules/m_watch.cpp b/src/modules/m_watch.cpp
index be1dcfc91..f1581ac02 100644
--- a/src/modules/m_watch.cpp
+++ b/src/modules/m_watch.cpp
@@ -374,13 +374,6 @@ class Modulewatch : public Module
whos_watching_me = new watchentries();
}
- void init() CXX11_OVERRIDE
- {
- ServerInstance->Modules->AddService(cmdw);
- ServerInstance->Modules->AddService(sw);
- ServerInstance->Modules->AddService(cmdw.ext);
- }
-
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
{
maxwatch = ServerInstance->Config->ConfValue("watch")->getInt("maxentries", 32);