diff options
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); |