summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2010-02-02 19:03:07 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2010-02-02 19:03:07 +0000
commit9d4004e8d477232c143830508a7a6e41fd2d31b7 (patch)
tree6808c9d90e272300062ce76eae5f7b7b445166a1
parentf2256deeefe9a9f57f6f6b902604c01138ad16cc (diff)
Allow opermotd to specify its file in <files> without also requiring an <opermotd> block
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12355 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules.cpp1
-rw-r--r--src/modules/m_httpd_acl.cpp18
-rw-r--r--src/modules/m_httpd_config.cpp24
-rw-r--r--src/modules/m_httpd_stats.cpp10
-rw-r--r--src/modules/m_opermotd.cpp12
5 files changed, 20 insertions, 45 deletions
diff --git a/src/modules.cpp b/src/modules.cpp
index d4ba9145a..52a25d37c 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -693,6 +693,7 @@ void FileReader::LoadFile(const std::string &filename)
}
else
{
+ fc.clear();
FILE* f = fopen(filename.c_str(), "r");
if (!f)
return;
diff --git a/src/modules/m_httpd_acl.cpp b/src/modules/m_httpd_acl.cpp
index 0086cdd0f..94cc4045f 100644
--- a/src/modules/m_httpd_acl.cpp
+++ b/src/modules/m_httpd_acl.cpp
@@ -46,12 +46,12 @@ class ModuleHTTPAccessList : public Module
void ReadConfig()
{
acl_list.clear();
- ConfigReader c;
- int n_items = c.Enumerate("httpdacl");
- for (int i = 0; i < n_items; ++i)
+ ConfigTagList acls = ServerInstance->Config->ConfTags("httpdacl");
+ for (ConfigIter i = acls.first; i != acls.second; i++)
{
- std::string path = c.ReadValue("httpdacl", "path", i);
- std::string types = c.ReadValue("httpdacl", "types", i);
+ ConfigTag* c = i->second;
+ std::string path = c->getString("path");
+ std::string types = c->getString("types");
irc::commasepstream sep(types);
std::string type;
std::string username;
@@ -63,16 +63,16 @@ class ModuleHTTPAccessList : public Module
{
if (type == "password")
{
- username = c.ReadValue("httpdacl", "username", i);
- password = c.ReadValue("httpdacl", "password", i);
+ username = c->getString("username");
+ password = c->getString("password");
}
else if (type == "whitelist")
{
- whitelist = c.ReadValue("httpdacl", "whitelist", i);
+ whitelist = c->getString("whitelist");
}
else if (type == "blacklist")
{
- blacklist = c.ReadValue("httpdacl", "blacklist", i);
+ blacklist = c->getString("blacklist");
}
else
{
diff --git a/src/modules/m_httpd_config.cpp b/src/modules/m_httpd_config.cpp
index 2183f0aed..f79f0c2a4 100644
--- a/src/modules/m_httpd_config.cpp
+++ b/src/modules/m_httpd_config.cpp
@@ -16,25 +16,11 @@
#include "protocol.h"
/* $ModDesc: Provides statistics over HTTP via m_httpd.so */
-/* $ModDep: httpd.h */
-class ModuleHttpStats : public Module
+class ModuleHttpConfig : public Module
{
-
- std::string stylesheet;
- bool changed;
-
public:
-
- void ReadConfig()
- {
- ConfigReader c;
- this->stylesheet = c.ReadValue("httpstats", "stylesheet", 0);
- }
-
- ModuleHttpStats() {
- ReadConfig();
- this->changed = true;
+ ModuleHttpConfig() {
Implementation eventlist[] = { I_OnEvent };
ServerInstance->Modules->Attach(eventlist, this, 1);
}
@@ -108,14 +94,14 @@ class ModuleHttpStats : public Module
}
}
- virtual ~ModuleHttpStats()
+ virtual ~ModuleHttpConfig()
{
}
virtual Version GetVersion()
{
- return Version("Provides statistics over HTTP via m_httpd.so", VF_VENDOR);
+ return Version("Provides configuration over HTTP via m_httpd.so", VF_VENDOR);
}
};
-MODULE_INIT(ModuleHttpStats)
+MODULE_INIT(ModuleHttpConfig)
diff --git a/src/modules/m_httpd_stats.cpp b/src/modules/m_httpd_stats.cpp
index 00c6a5d7f..a682cd14c 100644
--- a/src/modules/m_httpd_stats.cpp
+++ b/src/modules/m_httpd_stats.cpp
@@ -21,20 +21,10 @@
class ModuleHttpStats : public Module
{
static std::map<char, char const*> const &entities;
- std::string stylesheet;
- bool changed;
public:
- void ReadConfig()
- {
- ConfigReader c;
- this->stylesheet = c.ReadValue("httpstats", "stylesheet", 0);
- }
-
ModuleHttpStats() {
- ReadConfig();
- this->changed = true;
Implementation eventlist[] = { I_OnEvent };
ServerInstance->Modules->Attach(eventlist, this, 1);
}
diff --git a/src/modules/m_opermotd.cpp b/src/modules/m_opermotd.cpp
index be832e289..7b4584db9 100644
--- a/src/modules/m_opermotd.cpp
+++ b/src/modules/m_opermotd.cpp
@@ -63,12 +63,9 @@ class ModuleOpermotd : public Module
void LoadOperMOTD()
{
- ConfigReader conf;
- std::string filename;
- filename = conf.ReadValue("opermotd","file",0);
- delete opermotd;
- opermotd = new FileReader(filename);
- onoper = conf.ReadFlag("opermotd","onoper","yes",0);
+ ConfigTag* conf = ServerInstance->Config->ConfValue("opermotd");
+ opermotd->LoadFile(conf->getString("file","opermotd"));
+ onoper = conf->getBool("onoper", true);
}
ModuleOpermotd()
@@ -84,6 +81,8 @@ class ModuleOpermotd : public Module
virtual ~ModuleOpermotd()
{
+ delete opermotd;
+ opermotd = NULL;
}
virtual Version GetVersion()
@@ -91,7 +90,6 @@ class ModuleOpermotd : public Module
return Version("Shows a message to opers after oper-up, adds /opermotd", VF_VENDOR);
}
-
virtual void OnOper(User* user, const std::string &opertype)
{
if (onoper)