summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modules/extra/m_filter_pcre.cpp29
-rw-r--r--src/modules/m_filter.cpp25
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 &parameter)
{
- // 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);
}