diff options
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/extra/m_filter_pcre.cpp | 29 | ||||
-rw-r--r-- | src/modules/m_filter.cpp | 25 |
2 files changed, 4 insertions, 50 deletions
diff --git a/src/modules/extra/m_filter_pcre.cpp b/src/modules/extra/m_filter_pcre.cpp index 03cecffb7..96956e3d8 100644 --- a/src/modules/extra/m_filter_pcre.cpp +++ b/src/modules/extra/m_filter_pcre.cpp @@ -26,17 +26,6 @@ #include "modules.h" #include "inspircd.h" -/** Thrown by m_filter_pcre - */ -class FilterPCREException : public ModuleException -{ - public: - virtual const char* GetReason() - { - return "Could not find <filter file=\"\"> definition in your config file!"; - } -}; - /* $ModDesc: m_filter with regexps */ /* $CompileFlags: `pcre-config --cflags` */ /* $LinkerFlags: `pcre-config --libs` `perl extra/pcre_rpath.pl` -lpcre */ @@ -140,25 +129,13 @@ class ModuleFilterPCRE : public Module * of using a seperate config file is provided. */ - ConfigReader Conf(Srv); - - std::string filterfile = Conf.ReadValue("filter", "file", 0); - - ConfigReader MyConf(Srv, filterfile); - - if (filterfile.empty() || !MyConf.Verify()) - { - FilterPCREException e; - throw(e); - } - - ServerInstance->Log(DEFAULT,"m_filter_pcre: read configuration from "+filterfile); + ConfigReader MyConf(Srv); for (std::vector<Filter>::iterator i = filters.begin(); i != filters.end(); i++) pcre_free((*i).regexp); - + filters.clear(); - + for (int index = 0; index < MyConf.Enumerate("keyword"); index++) { std::string pattern = MyConf.ReadValue("keyword","pattern",index); diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp index f4193497d..38cd32ecd 100644 --- a/src/modules/m_filter.cpp +++ b/src/modules/m_filter.cpp @@ -42,17 +42,6 @@ class Filter : public classbase typedef std::map<std::string,Filter*> filter_t; -/** Thrown by m_filter - */ -class FilterException : public ModuleException -{ - public: - virtual const char* GetReason() - { - return "Could not find <filter file=\"\"> definition in your config file!"; - } -}; - class ModuleFilter : public Module { @@ -127,18 +116,8 @@ class ModuleFilter : public Module virtual void OnRehash(const std::string ¶meter) { - // reload our config file on rehash - we must destroy and re-allocate the classes - // to call the constructor again and re-read our data. - ConfigReader* Conf = new ConfigReader(ServerInstance); - std::string filterfile = Conf->ReadValue("filter","file",0); // this automatically re-reads the configuration file into the class - ConfigReader* MyConf = new ConfigReader(ServerInstance, filterfile); - if ((filterfile == "") || (!MyConf->Verify())) - { - // bail if the user forgot to create a config file - FilterException e; - throw(e); - } + ConfigReader* MyConf = new ConfigReader(ServerInstance); for (filter_t::iterator n = filters.begin(); n != filters.end(); n++) { DELETE(n->second); @@ -156,8 +135,6 @@ class ModuleFilter : public Module x->action = do_action; filters[pattern] = x; } - ServerInstance->Log(DEFAULT,"m_filter: read configuration from "+filterfile); - DELETE(Conf); DELETE(MyConf); } |