summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modules/extra/m_ldapauth.cpp22
-rw-r--r--src/modules/extra/m_ldapoper.cpp12
-rw-r--r--src/modules/extra/m_mssql.cpp34
-rw-r--r--src/modules/extra/m_regex_posix.cpp3
-rw-r--r--src/modules/m_alias.cpp8
-rw-r--r--src/modules/m_blockamsg.cpp11
-rw-r--r--src/modules/m_blockcaps.cpp10
-rw-r--r--src/modules/m_callerid.cpp10
-rw-r--r--src/modules/m_censor.cpp9
-rw-r--r--src/modules/m_chanfilter.cpp3
-rw-r--r--src/modules/m_chanlog.cpp8
-rw-r--r--src/modules/m_channames.cpp6
-rw-r--r--src/modules/m_chanprotect.cpp12
-rw-r--r--src/modules/m_chghost.cpp6
-rw-r--r--src/modules/m_conn_waitpong.cpp14
-rw-r--r--src/modules/m_connectban.cpp19
-rw-r--r--src/modules/m_connflood.cpp12
-rw-r--r--src/modules/m_customtitle.cpp16
-rw-r--r--src/modules/m_dccallow.cpp20
-rw-r--r--src/modules/m_deaf.cpp6
-rw-r--r--src/modules/m_denychans.cpp34
-rw-r--r--src/modules/m_filter.cpp29
-rw-r--r--src/modules/m_hidechans.cpp3
-rw-r--r--src/modules/m_hostchange.cpp8
-rw-r--r--src/modules/m_ident.cpp4
-rw-r--r--src/modules/m_maphide.cpp3
-rw-r--r--src/modules/m_nationalchars.cpp8
-rw-r--r--src/modules/m_nonicks.cpp3
-rw-r--r--src/modules/m_operjoin.cpp6
-rw-r--r--src/modules/m_override.cpp8
-rw-r--r--src/modules/m_passforward.cpp8
-rw-r--r--src/modules/m_remove.cpp3
-rw-r--r--src/modules/m_rline.cpp8
-rw-r--r--src/modules/m_securelist.cpp8
-rw-r--r--src/modules/m_sethost.cpp6
-rw-r--r--src/modules/m_showwhois.cpp7
-rw-r--r--src/modules/m_shun.cpp8
-rw-r--r--src/modules/m_silence.cpp3
-rw-r--r--src/modules/m_spanningtree/utils.cpp20
-rw-r--r--src/modules/m_watch.cpp3
40 files changed, 191 insertions, 230 deletions
diff --git a/src/modules/extra/m_ldapauth.cpp b/src/modules/extra/m_ldapauth.cpp
index f51b41e0b..2102b7492 100644
--- a/src/modules/extra/m_ldapauth.cpp
+++ b/src/modules/extra/m_ldapauth.cpp
@@ -76,20 +76,20 @@ public:
void OnRehash(User* user)
{
- ConfigReader Conf;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("ldapauth");
whitelistedcidrs.clear();
requiredattributes.clear();
- base = Conf.ReadValue("ldapauth", "baserdn", 0);
- attribute = Conf.ReadValue("ldapauth", "attribute", 0);
- ldapserver = Conf.ReadValue("ldapauth", "server", 0);
- allowpattern = Conf.ReadValue("ldapauth", "allowpattern", 0);
- killreason = Conf.ReadValue("ldapauth", "killreason", 0);
- std::string scope = Conf.ReadValue("ldapauth", "searchscope", 0);
- username = Conf.ReadValue("ldapauth", "binddn", 0);
- password = Conf.ReadValue("ldapauth", "bindauth", 0);
- verbose = Conf.ReadFlag("ldapauth", "verbose", 0); /* Set to true if failed connects should be reported to operators */
- useusername = Conf.ReadFlag("ldapauth", "userfield", 0);
+ base = tag->getString("baserdn");
+ attribute = tag->getString("attribute");
+ ldapserver = tag->getString("server");
+ allowpattern = tag->getString("allowpattern");
+ killreason = tag->getString("killreason");
+ std::string scope = tag->getString("searchscope");
+ username = tag->getString("binddn");
+ password = tag->getString("bindauth");
+ verbose = tag->getBool("verbose"); /* Set to true if failed connects should be reported to operators */
+ useusername = tag->getBool("userfield");
ConfigTagList whitelisttags = ServerInstance->Config->ConfTags("ldapwhitelist");
diff --git a/src/modules/extra/m_ldapoper.cpp b/src/modules/extra/m_ldapoper.cpp
index 2166b0823..84a3b8729 100644
--- a/src/modules/extra/m_ldapoper.cpp
+++ b/src/modules/extra/m_ldapoper.cpp
@@ -61,13 +61,13 @@ public:
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("ldapoper");
- base = Conf.ReadValue("ldapoper", "baserdn", 0);
- ldapserver = Conf.ReadValue("ldapoper", "server", 0);
- std::string scope = Conf.ReadValue("ldapoper", "searchscope", 0);
- username = Conf.ReadValue("ldapoper", "binddn", 0);
- password = Conf.ReadValue("ldapoper", "bindauth", 0);
+ base = tag->getString("baserdn");
+ ldapserver = tag->getString("server");
+ std::string scope = tag->getString("searchscope");
+ username = tag->getString("binddn");
+ password = tag->getString("bindaut");
if (scope == "base")
searchscope = LDAP_SCOPE_BASE;
diff --git a/src/modules/extra/m_mssql.cpp b/src/modules/extra/m_mssql.cpp
index eca646fcf..27410e95b 100644
--- a/src/modules/extra/m_mssql.cpp
+++ b/src/modules/extra/m_mssql.cpp
@@ -707,16 +707,17 @@ class ModuleMsSQL : public Module
bool HostInConf(const SQLhost &h)
{
- ConfigReader conf;
- for(int i = 0; i < conf.Enumerate("database"); i++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("database");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
+ ConfigTag* tag = i->second;
SQLhost host;
- host.id = conf.ReadValue("database", "id", i);
- host.host = conf.ReadValue("database", "hostname", i);
- host.port = conf.ReadInteger("database", "port", "1433", i, true);
- host.name = conf.ReadValue("database", "name", i);
- host.user = conf.ReadValue("database", "username", i);
- host.pass = conf.ReadValue("database", "password", i);
+ host.id = tag->getString("id");
+ host.host = tag->getString("hostname");
+ host.port = tag->getInt("port", 1433);
+ host.name = tag->getString("name");
+ host.user = tag->getString("username");
+ host.pass = tag->getString("password");
if (h == host)
return true;
}
@@ -727,17 +728,18 @@ class ModuleMsSQL : public Module
{
ClearOldConnections();
- ConfigReader conf;
- for(int i = 0; i < conf.Enumerate("database"); i++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("database");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
+ ConfigTag* tag = i->second;
SQLhost host;
- host.id = conf.ReadValue("database", "id", i);
- host.host = conf.ReadValue("database", "hostname", i);
- host.port = conf.ReadInteger("database", "port", "1433", i, true);
- host.name = conf.ReadValue("database", "name", i);
- host.user = conf.ReadValue("database", "username", i);
- host.pass = conf.ReadValue("database", "password", i);
+ host.id = tag->getString("id");
+ host.host = tag->getString("hostname");
+ host.port = tag->getInt("port", 1433);
+ host.name = tag->getString("name");
+ host.user = tag->getString("username");
+ host.pass = tag->getString("password");
if (HasHost(host))
continue;
diff --git a/src/modules/extra/m_regex_posix.cpp b/src/modules/extra/m_regex_posix.cpp
index 6e837bcb6..e3e436bd6 100644
--- a/src/modules/extra/m_regex_posix.cpp
+++ b/src/modules/extra/m_regex_posix.cpp
@@ -107,8 +107,7 @@ public:
void OnRehash(User* u)
{
- ConfigReader Conf;
- ref.extended = Conf.ReadFlag("posix", "extended", 0);
+ ref.extended = ServerInstance->Config->ConfValue("posix")->getBool("extended");
}
};
diff --git a/src/modules/m_alias.cpp b/src/modules/m_alias.cpp
index 686938eb4..6e06af74a 100644
--- a/src/modules/m_alias.cpp
+++ b/src/modules/m_alias.cpp
@@ -74,11 +74,9 @@ class ModuleAlias : public Module
virtual void ReadAliases()
{
- ConfigReader MyConf;
-
- AllowBots = MyConf.ReadFlag("fantasy", "allowbots", "no", 0);
-
- std::string fpre = MyConf.ReadValue("fantasy","prefix",0);
+ ConfigTag* fantasy = ServerInstance->Config->ConfValue("fantasy");
+ AllowBots = fantasy->getBool("allowbots", false);
+ std::string fpre = fantasy->getString("prefix", "!");
fprefix = fpre.empty() ? '!' : fpre[0];
Aliases.clear();
diff --git a/src/modules/m_blockamsg.cpp b/src/modules/m_blockamsg.cpp
index c570e0a71..865626f87 100644
--- a/src/modules/m_blockamsg.cpp
+++ b/src/modules/m_blockamsg.cpp
@@ -75,14 +75,9 @@ class ModuleBlockAmsg : public Module
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
-
- ForgetDelay = Conf.ReadInteger("blockamsg", "delay", 0, false);
-
- if(Conf.GetError() == CONF_VALUE_NOT_FOUND)
- ForgetDelay = -1;
-
- std::string act = Conf.ReadValue("blockamsg", "action", 0);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("blockamsg");
+ ForgetDelay = tag->getInt("delay", -1);
+ std::string act = tag->getString("action");
if(act == "notice")
action = IBLOCK_NOTICE;
diff --git a/src/modules/m_blockcaps.cpp b/src/modules/m_blockcaps.cpp
index 1530a85e0..4c19ef0a7 100644
--- a/src/modules/m_blockcaps.cpp
+++ b/src/modules/m_blockcaps.cpp
@@ -109,12 +109,10 @@ public:
void ReadConf()
{
- ConfigReader Conf;
- percent = Conf.ReadInteger("blockcaps", "percent", "100", 0, true);
- minlen = Conf.ReadInteger("blockcaps", "minlen", "1", 0, true);
- std::string hmap = Conf.ReadValue("blockcaps", "capsmap", 0);
- if (hmap.empty())
- hmap = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ ConfigTag* tag = ServerInstance->Config->ConfValue("blockcaps");
+ percent = tag->getInt("percent", 100);
+ minlen = tag->getInt("minlen", 1);
+ std::string hmap = tag->getString("capsmap", "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
memset(capsmap, 0, sizeof(capsmap));
for (std::string::iterator n = hmap.begin(); n != hmap.end(); n++)
capsmap[(unsigned char)*n] = 1;
diff --git a/src/modules/m_callerid.cpp b/src/modules/m_callerid.cpp
index f24c38b65..e28a4084b 100644
--- a/src/modules/m_callerid.cpp
+++ b/src/modules/m_callerid.cpp
@@ -412,11 +412,11 @@ public:
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
- cmd.maxaccepts = Conf.ReadInteger("callerid", "maxaccepts", "16", 0, true);
- operoverride = Conf.ReadFlag("callerid", "operoverride", "0", 0);
- tracknick = Conf.ReadFlag("callerid", "tracknick", "0", 0);
- notify_cooldown = Conf.ReadInteger("callerid", "cooldown", "60", 0, true);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("callerid");
+ cmd.maxaccepts = tag->getInt("maxaccepts", 16);
+ operoverride = tag->getBool("operoverride");
+ tracknick = tag->getBool("tracknick");
+ notify_cooldown = tag->getInt("cooldown", 60);
}
};
diff --git a/src/modules/m_censor.cpp b/src/modules/m_censor.cpp
index bbf061f7e..03a211ad8 100644
--- a/src/modules/m_censor.cpp
+++ b/src/modules/m_censor.cpp
@@ -123,14 +123,15 @@ class ModuleCensor : public Module
* 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 MyConf;
censors.clear();
- for (int index = 0; index < MyConf.Enumerate("badword"); index++)
+ ConfigTagList badwords = ServerInstance->Config->ConfTags("badword");
+ for (ConfigIter i = badwords.first; i != badwords.second; ++i)
{
- std::string str = MyConf.ReadValue("badword","text",index);
+ ConfigTag* tag = i->second;
+ std::string str = tag->getString("text");
irc::string pattern(str.c_str());
- str = MyConf.ReadValue("badword","replace",index);
+ str = tag->getString("replace");
censors[pattern] = irc::string(str.c_str());
}
}
diff --git a/src/modules/m_chanfilter.cpp b/src/modules/m_chanfilter.cpp
index c899d7a4b..95fd9b3e1 100644
--- a/src/modules/m_chanfilter.cpp
+++ b/src/modules/m_chanfilter.cpp
@@ -88,8 +88,7 @@ class ModuleChanFilter : public Module
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
- hidemask = Conf.ReadFlag("chanfilter", "hidemask", 0);
+ hidemask = ServerInstance->Config->ConfValue("chanfilter")->getBool("hidemask");
cf.DoRehash();
}
diff --git a/src/modules/m_chanlog.cpp b/src/modules/m_chanlog.cpp
index 29385b8e2..d7d074b3a 100644
--- a/src/modules/m_chanlog.cpp
+++ b/src/modules/m_chanlog.cpp
@@ -45,16 +45,16 @@ class ModuleChanLog : public Module
virtual void OnRehash(User *user)
{
- ConfigReader MyConf;
std::string snomasks;
std::string channel;
logstreams.clear();
- for (int i = 0; i < MyConf.Enumerate("chanlog"); i++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("chanlog");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
- channel = MyConf.ReadValue("chanlog", "channel", i);
- snomasks = MyConf.ReadValue("chanlog", "snomasks", i);
+ channel = i->second->getString("channel");
+ snomasks = i->second->getString("snomasks");
if (channel.empty() || snomasks.empty())
{
diff --git a/src/modules/m_channames.cpp b/src/modules/m_channames.cpp
index 92774edff..49fd7af7b 100644
--- a/src/modules/m_channames.cpp
+++ b/src/modules/m_channames.cpp
@@ -95,9 +95,9 @@ class ModuleChannelNames : public Module
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
- std::string denyToken = Conf.ReadValue("channames", "denyrange", 0);
- std::string allowToken = Conf.ReadValue("channames", "allowrange", 0);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("channames");
+ std::string denyToken = tag->getString("denyrange");
+ std::string allowToken = tag->getString("allowrange");
allowedmap.set();
irc::portparser denyrange(denyToken, false);
diff --git a/src/modules/m_chanprotect.cpp b/src/modules/m_chanprotect.cpp
index 2a46f2f17..85405ec25 100644
--- a/src/modules/m_chanprotect.cpp
+++ b/src/modules/m_chanprotect.cpp
@@ -260,14 +260,14 @@ class ModuleChanProtect : public Module
void LoadSettings()
{
- ConfigReader Conf;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("chanprotect");
- settings.FirstInGetsFounder = Conf.ReadFlag("chanprotect", "noservices", 0);
+ settings.FirstInGetsFounder = tag->getBool("noservices");
- std::string qpre = Conf.ReadValue("chanprotect", "qprefix", 0);
+ std::string qpre = tag->getString("qprefix");
char QPrefix = qpre.empty() ? 0 : qpre[0];
- std::string apre = Conf.ReadValue("chanprotect", "aprefix", 0);
+ std::string apre = tag->getString("aprefix");
char APrefix = apre.empty() ? 0 : apre[0];
if ((APrefix && QPrefix) && APrefix == QPrefix)
@@ -284,8 +284,8 @@ class ModuleChanProtect : public Module
cp.setPrefix(APrefix);
cf.setPrefix(QPrefix);
}
- settings.DeprivSelf = Conf.ReadFlag("chanprotect","deprotectself", "yes", 0);
- settings.DeprivOthers = Conf.ReadFlag("chanprotect","deprotectothers", "yes", 0);
+ settings.DeprivSelf = tag->getBool("deprotectself", true);
+ settings.DeprivOthers = tag->getBool("deprotectothers", true);
}
ModResult OnUserPreJoin(User *user, Channel *chan, const char *cname, std::string &privs, const std::string &keygiven)
diff --git a/src/modules/m_chghost.cpp b/src/modules/m_chghost.cpp
index 6991814f6..b259bea8e 100644
--- a/src/modules/m_chghost.cpp
+++ b/src/modules/m_chghost.cpp
@@ -102,11 +102,7 @@ class ModuleChgHost : public Module
void OnRehash(User* user)
{
- ConfigReader Conf;
- std::string hmap = Conf.ReadValue("hostname", "charmap", 0);
-
- if (hmap.empty())
- hmap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789";
+ std::string hmap = ServerInstance->Config->ConfValue("hostname")->getString("charmap", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789");
memset(hostmap, 0, sizeof(hostmap));
for (std::string::iterator n = hmap.begin(); n != hmap.end(); n++)
diff --git a/src/modules/m_conn_waitpong.cpp b/src/modules/m_conn_waitpong.cpp
index 764246e84..50aeffd0a 100644
--- a/src/modules/m_conn_waitpong.cpp
+++ b/src/modules/m_conn_waitpong.cpp
@@ -44,17 +44,9 @@ class ModuleWaitPong : public Module
void OnRehash(User* user)
{
- ConfigReader Conf;
-
- sendsnotice = Conf.ReadFlag("waitpong", "sendsnotice", 0);
-
- if(Conf.GetError() == CONF_VALUE_NOT_FOUND)
- sendsnotice = true;
-
- killonbadreply = Conf.ReadFlag("waitpong", "killonbadreply", 0);
-
- if(Conf.GetError() == CONF_VALUE_NOT_FOUND)
- killonbadreply = true;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("waitpong");
+ sendsnotice = tag->getBool("sendsnotice", true);
+ killonbadreply = tag->getBool("killonbadreply", true);
}
ModResult OnUserRegister(LocalUser* user)
diff --git a/src/modules/m_connectban.cpp b/src/modules/m_connectban.cpp
index aebe9a4ca..6ba7f53a9 100644
--- a/src/modules/m_connectban.cpp
+++ b/src/modules/m_connectban.cpp
@@ -48,28 +48,23 @@ class ModuleConnectBan : public Module
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
- std::string duration;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("connectban");
- ipv4_cidr = Conf.ReadInteger("connectban", "ipv4cidr", 0, true);
+ ipv4_cidr = tag->getInt("ipv4cidr", 32);
if (ipv4_cidr == 0)
ipv4_cidr = 32;
- ipv6_cidr = Conf.ReadInteger("connectban", "ipv6cidr", 0, true);
+ ipv6_cidr = tag->getInt("ipv6cidr", 128);
if (ipv6_cidr == 0)
ipv6_cidr = 128;
- threshold = Conf.ReadInteger("connectban", "threshold", 0, true);
-
+ threshold = tag->getInt("threshold", 10);
if (threshold == 0)
threshold = 10;
- duration = Conf.ReadValue("connectban", "duration", 0, true);
-
- if (duration.empty())
- duration = "10m";
-
- banduration = ServerInstance->Duration(duration);
+ banduration = ServerInstance->Duration(tag->getString("duration", "10m"));
+ if (banduration == 0)
+ banduration = 10*60;
}
virtual void OnUserConnect(LocalUser *u)
diff --git a/src/modules/m_connflood.cpp b/src/modules/m_connflood.cpp
index 9d7c9cb2c..71516063b 100644
--- a/src/modules/m_connflood.cpp
+++ b/src/modules/m_connflood.cpp
@@ -50,15 +50,15 @@ public:
void InitConf()
{
/* read configuration variables */
- ConfigReader conf;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("connflood");
/* throttle configuration */
- seconds = conf.ReadInteger("connflood", "seconds", 0, true);
- maxconns = conf.ReadInteger("connflood", "maxconns", 0, true);
- timeout = conf.ReadInteger("connflood", "timeout", 0, true);
- quitmsg = conf.ReadValue("connflood", "quitmsg", 0);
+ seconds = tag->getInt("seconds");
+ maxconns = tag->getInt("maxconns");
+ timeout = tag->getInt("timeout");
+ quitmsg = tag->getString("quitmsg");
/* seconds to wait when the server just booted */
- boot_wait = conf.ReadInteger("connflood", "bootwait", 0, true);
+ boot_wait = tag->getInt("bootwait");
first = ServerInstance->Time();
}
diff --git a/src/modules/m_customtitle.cpp b/src/modules/m_customtitle.cpp
index fd5ec6f09..a9704e7de 100644
--- a/src/modules/m_customtitle.cpp
+++ b/src/modules/m_customtitle.cpp
@@ -58,15 +58,15 @@ class CommandTitle : public Command
snprintf(TheHost,MAXBUF,"%s@%s",user->ident.c_str(), user->host.c_str());
snprintf(TheIP, MAXBUF,"%s@%s",user->ident.c_str(), user->GetIPString());
- ConfigReader Conf;
- for (int i=0; i<Conf.Enumerate("title"); i++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("title");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
- std::string Name = Conf.ReadValue("title", "name", "", i);
- std::string pass = Conf.ReadValue("title", "password", "", i);
- std::string hash = Conf.ReadValue("title", "hash", "", i);
- std::string host = Conf.ReadValue("title", "host", "*@*", i);
- std::string title = Conf.ReadValue("title", "title", "", i);
- std::string vhost = Conf.ReadValue("title", "vhost", "", i);
+ std::string Name = i->second->getString("name");
+ std::string pass = i->second->getString("password");
+ std::string hash = i->second->getString("hash");
+ std::string host = i->second->getString("host", "*@*");
+ std::string title = i->second->getString("title");
+ std::string vhost = i->second->getString("vhost");
if (!strcmp(Name.c_str(),parameters[0].c_str()) && !ServerInstance->PassCompare(user, pass.c_str(), parameters[1].c_str(), hash.c_str()) && OneOfMatches(TheHost,TheIP,host.c_str()) && !title.empty())
{
diff --git a/src/modules/m_dccallow.cpp b/src/modules/m_dccallow.cpp
index 10b1b98ac..3b0467ae5 100644
--- a/src/modules/m_dccallow.cpp
+++ b/src/modules/m_dccallow.cpp
@@ -150,8 +150,7 @@ class CommandDccallow : public Command
}
std::string mask = target->nick+"!"+target->ident+"@"+target->dhost;
- ConfigReader Conf;
- std::string default_length = Conf.ReadValue("dccallow", "length", 0);
+ std::string default_length = ServerInstance->Config->ConfValue("dccallow")->getString("length");
long length;
if (parameters.size() < 2)
@@ -334,12 +333,12 @@ class ModuleDCCAllow : public Module
irc::string type = tokens[1].c_str();
- ConfigReader Conf;
- bool blockchat = Conf.ReadFlag("dccallow", "blockchat", 0);
+ ConfigTag* conftag = ServerInstance->Config->ConfValue("dccallow");
+ bool blockchat = conftag->getBool("blockchat");
if (type == "SEND")
{
- std::string defaultaction = Conf.ReadValue("dccallow", "action", 0);
+ std::string defaultaction = conftag->getString("action");
std::string filename = tokens[2];
bool found = false;
@@ -461,18 +460,15 @@ class ModuleDCCAllow : public Module
void ReadFileConf()
{
- ConfigReader Conf;
bfl.clear();
- for (int i = 0; i < Conf.Enumerate("banfile"); i++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("banfile");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
BannedFileList bf;
- std::string fileglob = Conf.ReadValue("banfile", "pattern", i);
- std::string action = Conf.ReadValue("banfile", "action", i);
- bf.filemask = fileglob;
- bf.action = action;
+ bf.filemask = i->second->getString("pattern");
+ bf.action = i->second->getString("action");
bfl.push_back(bf);
}
-
}
virtual ~ModuleDCCAllow()
diff --git a/src/modules/m_deaf.cpp b/src/modules/m_deaf.cpp
index 3e0d205ba..958abcdd4 100644
--- a/src/modules/m_deaf.cpp
+++ b/src/modules/m_deaf.cpp
@@ -75,9 +75,9 @@ class ModuleDeaf : public Module
virtual void OnRehash(User* user)
{
- ConfigReader conf;
- deaf_bypasschars = conf.ReadValue("deaf", "bypasschars", 0);
- deaf_bypasschars_uline = conf.ReadValue("deaf", "bypasscharsuline", 0);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("deaf");
+ deaf_bypasschars = tag->getString("bypasschars");
+ deaf_bypasschars_uline = tag->getString("bypasscharsuline");
}
virtual ModResult OnUserPreNotice(User* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list)
diff --git a/src/modules/m_denychans.cpp b/src/modules/m_denychans.cpp
index d4dcdec5a..c280174f5 100644
--- a/src/modules/m_denychans.cpp
+++ b/src/modules/m_denychans.cpp
@@ -34,12 +34,12 @@ class ModuleDenyChannels : public Module
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
/* check for redirect validity and loops/chains */
- for (int i =0; i < Conf.Enumerate("badchan"); i++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("badchan");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
- std::string name = Conf.ReadValue("badchan","name",i);
- std::string redirect = Conf.ReadValue("badchan","redirect",i);
+ std::string name = i->second->getString("name");
+ std::string redirect = i->second->getString("redirect");
if (!redirect.empty())
{
@@ -51,14 +51,15 @@ class ModuleDenyChannels : public Module
throw ModuleException("Invalid badchan redirect, not a channel");
}
- for (int j =0; j < Conf.Enumerate("badchan"); j++)
+ for (ConfigIter j = tags.first; j != tags.second; ++j)
{
- if (InspIRCd::Match(redirect, Conf.ReadValue("badchan","name",j)))
+ if (InspIRCd::Match(redirect, j->second->getString("name")))
{
bool goodchan = false;
- for (int k =0; k < Conf.Enumerate("goodchan"); k++)
+ ConfigTagList goodchans = ServerInstance->Config->ConfTags("badchan");
+ for (ConfigIter k = goodchans.first; k != goodchans.second; ++k)
{
- if (InspIRCd::Match(redirect, Conf.ReadValue("goodchan","name",k)))
+ if (InspIRCd::Match(redirect, k->second->getString("name")))
goodchan = true;
}
@@ -87,23 +88,24 @@ class ModuleDenyChannels : public Module
virtual ModResult OnUserPreJoin(User* user, Channel* chan, const char* cname, std::string &privs, const std::string &keygiven)
{
- ConfigReader Conf;
- for (int j =0; j < Conf.Enumerate("badchan"); j++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("badchan");
+ for (ConfigIter j = tags.first; j != tags.second; ++j)
{
- if (InspIRCd::Match(cname, Conf.ReadValue("badchan","name",j)))
+ if (InspIRCd::Match(cname, j->second->getString("name")))
{
- if (IS_OPER(user) && Conf.ReadFlag("badchan","allowopers",j))
+ if (IS_OPER(user) && j->second->getBool("allowopers"))
{
return MOD_RES_PASSTHRU;
}
else
{
- std::string reason = Conf.ReadValue("badchan","reason",j);
- std::string redirect = Conf.ReadValue("badchan","redirect",j);
+ std::string reason = j->second->getString("reason");
+ std::string redirect = j->second->getString("redirect");
- for (int i = 0; i < Conf.Enumerate("goodchan"); i++)
+ ConfigTagList goodchans = ServerInstance->Config->ConfTags("goodchan");
+ for (ConfigIter i = goodchans.first; i != goodchans.second; ++i)
{
- if (InspIRCd::Match(cname, Conf.ReadValue("goodchan", "name", i)))
+ if (InspIRCd::Match(cname, i->second->getString("name")))
{
return MOD_RES_PASSTHRU;
}
diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp
index 6105fe024..683db179a 100644
--- a/src/modules/m_filter.cpp
+++ b/src/modules/m_filter.cpp
@@ -192,7 +192,7 @@ class ModuleFilter : public Module
ModResult OnStats(char symbol, User* user, string_list &results);
ModResult OnPreCommand(std::string &command, std::vector<std::string> &parameters, LocalUser *user, bool validated, const std::string &original_line);
bool AppliesToMe(User* user, FilterResult* filter, int flags);
- void ReadFilters(ConfigReader &MyConf);
+ void ReadFilters();
static bool StringToFilterAction(const std::string& str, FilterAction& fa);
static std::string FilterActionToString(FilterAction fa);
};
@@ -449,15 +449,15 @@ ModResult ModuleFilter::OnPreCommand(std::string &command, std::vector<std::stri
void ModuleFilter::OnRehash(User* user)
{
- ConfigReader MyConf;
+ ConfigTagList tags = ServerInstance->Config->ConfTags("exemptfromfilter");
exemptfromfilter.clear();
- for (int index = 0; index < MyConf.Enumerate("exemptfromfilter"); ++index)
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
- std::string chan = MyConf.ReadValue("exemptfromfilter", "channel", index);
+ std::string chan = i->second->getString("channel");
if (!chan.empty())
exemptfromfilter.insert(chan);
}
- std::string newrxengine = "regex/" + MyConf.ReadValue("filteropts", "engine", 0);
+ std::string newrxengine = "regex/" + ServerInstance->Config->ConfValue("filteropts")->getString("engine");
if (newrxengine == "regex/")
newrxengine = "regex";
if (RegexEngine.GetProvider() == newrxengine)
@@ -471,7 +471,7 @@ void ModuleFilter::OnRehash(User* user)
{
ServerInstance->SNO->WriteGlobalSno('a', "WARNING: Regex engine '%s' is not loaded - Filter functionality disabled until this is corrected.", newrxengine.c_str());
}
- ReadFilters(MyConf);
+ ReadFilters();
}
Version ModuleFilter::GetVersion()
@@ -650,17 +650,18 @@ std::string ModuleFilter::FilterActionToString(FilterAction fa)
}
}
-void ModuleFilter::ReadFilters(ConfigReader &MyConf)
+void ModuleFilter::ReadFilters()
{
- for (int index = 0; index < MyConf.Enumerate("keyword"); index++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("keyword");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
- this->DeleteFilter(MyConf.ReadValue("keyword", "pattern", index));
+ std::string pattern = i->second->getString("pattern");
+ this->DeleteFilter(pattern);
- std::string pattern = MyConf.ReadValue("keyword", "pattern", index);
- std::string reason = MyConf.ReadValue("keyword", "reason", index);
- std::string action = MyConf.ReadValue("keyword", "action", index);
- std::string flgs = MyConf.ReadValue("keyword", "flags", index);
- long gline_time = ServerInstance->Duration(MyConf.ReadValue("keyword", "duration", index));
+ std::string reason = i->second->getString("reason");
+ std::string action = i->second->getString("action");
+ std::string flgs = i->second->getString("flags");
+ long gline_time = ServerInstance->Duration(i->second->getString("duration"));
if (flgs.empty())
flgs = "*";
diff --git a/src/modules/m_hidechans.cpp b/src/modules/m_hidechans.cpp
index 9c582551b..023189748 100644
--- a/src/modules/m_hidechans.cpp
+++ b/src/modules/m_hidechans.cpp
@@ -55,8 +55,7 @@ class ModuleHideChans : public Module
virtual void OnRehash(User* user)
{
- ConfigReader conf;
- AffectsOpers = conf.ReadFlag("hidechans", "affectsopers", 0);
+ AffectsOpers = ServerInstance->Config->ConfValue("hidechans")->getBool("affectsopers");
}
ModResult OnWhoisLine(User* user, User* dest, int &numeric, std::string &text)
diff --git a/src/modules/m_hostchange.cpp b/src/modules/m_hostchange.cpp
index 6efa9974b..508171c96 100644
--- a/src/modules/m_hostchange.cpp
+++ b/src/modules/m_hostchange.cpp
@@ -63,10 +63,10 @@ class ModuleHostChange : public Module
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
- MySuffix = Conf.ReadValue("host","suffix",0);
- MyPrefix = Conf.ReadValue("host","prefix","",0);
- MySeparator = Conf.ReadValue("host","separator",".",0);
+ ConfigTag* host = ServerInstance->Config->ConfValue("host");
+ MySuffix = host->getString("suffix");
+ MyPrefix = host->getString("prefix");
+ MySeparator = host->getString("separator", ".");
hostchanges.clear();
std::set<std::string> dupecheck;
diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp
index 460b81023..35084fd45 100644
--- a/src/modules/m_ident.cpp
+++ b/src/modules/m_ident.cpp
@@ -289,9 +289,7 @@ class ModuleIdent : public Module
virtual void OnRehash(User *user)
{
- ConfigReader Conf;
-
- RequestTimeout = Conf.ReadInteger("ident", "timeout", 0, true);
+ RequestTimeout = ServerInstance->Config->ConfValue("ident")->getInt("timeout", 5);
if (!RequestTimeout)
RequestTimeout = 5;
}
diff --git a/src/modules/m_maphide.cpp b/src/modules/m_maphide.cpp
index b78cd2c7e..f3f472519 100644
--- a/src/modules/m_maphide.cpp
+++ b/src/modules/m_maphide.cpp
@@ -34,8 +34,7 @@ class ModuleMapHide : public Module
void OnRehash(User* user)
{
- ConfigReader MyConf;
- url = MyConf.ReadValue("security", "maphide", 0);
+ url = ServerInstance->Config->ConfValue("security")->getString("maphide");
}
ModResult OnPreCommand(std::string &command, std::vector<std::string> &parameters, LocalUser *user, bool validated, const std::string &original_line)
diff --git a/src/modules/m_nationalchars.cpp b/src/modules/m_nationalchars.cpp
index 1cd21420c..c59c1ba2a 100644
--- a/src/modules/m_nationalchars.cpp
+++ b/src/modules/m_nationalchars.cpp
@@ -252,14 +252,14 @@ class ModuleNationalChars : public Module
virtual void OnRehash(User* user)
{
- ConfigReader conf;
- charset = conf.ReadValue("nationalchars", "file", 0);
- casemapping = conf.ReadValue("nationalchars", "casemapping", charset, 0, false);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("nationalchars");
+ charset = tag->getString("file");
+ casemapping = tag->getString("casemapping", charset);
if(charset[0] != '/')
charset.insert(0, "../locales/");
unsigned char * tables[8] = { m_additional, m_additionalMB, m_additionalUp, m_lower, m_upper, m_additionalUtf8, m_additionalUtf8range, m_additionalUtf8interval };
loadtables(charset, tables, 8, 5);
- forcequit = conf.ReadFlag("nationalchars", "forcequit", 0);
+ forcequit = tag->getBool("forcequit");
CheckForceQuit("National character set changed");
}
diff --git a/src/modules/m_nonicks.cpp b/src/modules/m_nonicks.cpp
index f5c404682..4fa717d73 100644
--- a/src/modules/m_nonicks.cpp
+++ b/src/modules/m_nonicks.cpp
@@ -91,8 +91,7 @@ class ModuleNoNickChange : public Module
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
- override = Conf.ReadFlag("nonicks", "operoverride", "no", 0);
+ override = ServerInstance->Config->ConfValue("nonicks")->getBool("operoverride", false);
}
};
diff --git a/src/modules/m_operjoin.cpp b/src/modules/m_operjoin.cpp
index af787b815..b717ac3ef 100644
--- a/src/modules/m_operjoin.cpp
+++ b/src/modules/m_operjoin.cpp
@@ -63,10 +63,10 @@ class ModuleOperjoin : public Module
virtual void OnRehash(User* user)
{
- ConfigReader conf;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("operjoin");
- operChan = conf.ReadValue("operjoin", "channel", 0);
- override = conf.ReadFlag("operjoin", "override", "0", 0);
+ operChan = tag->getString("channel");
+ override = tag->getBool("override", false);
operChans.clear();
if (!operChan.empty())
tokenize(operChan,operChans);
diff --git a/src/modules/m_override.cpp b/src/modules/m_override.cpp
index bbd1c4e51..c7b365790 100644
--- a/src/modules/m_override.cpp
+++ b/src/modules/m_override.cpp
@@ -46,12 +46,10 @@ class ModuleOverride : public Module
void OnRehash(User* user)
{
- // on a rehash we delete our classes for good measure and create them again.
- ConfigReader Conf;
-
// re-read our config options on a rehash
- NoisyOverride = Conf.ReadFlag("override", "noisy", 0);
- RequireKey = Conf.ReadFlag("override", "requirekey", 0);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("override");
+ NoisyOverride = tag->getBool("noisy");
+ RequireKey = tag->getBool("requirekey");
}
void On005Numeric(std::string &output)
diff --git a/src/modules/m_passforward.cpp b/src/modules/m_passforward.cpp
index fb7bae234..047992d12 100644
--- a/src/modules/m_passforward.cpp
+++ b/src/modules/m_passforward.cpp
@@ -41,10 +41,10 @@ class ModulePassForward : public Module
void OnRehash(User* user)
{
- ConfigReader Conf;
- nickrequired = Conf.ReadValue("passforward", "nick", "NickServ", 0);
- forwardmsg = Conf.ReadValue("passforward", "forwardmsg", "NOTICE $nick :*** Forwarding PASS to $nickrequired", 0);
- forwardcmd = Conf.ReadValue("passforward", "cmd", "PRIVMSG $nickrequired :IDENTIFY $pass", 0);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("passforward");
+ nickrequired = tag->getString("nick", "NickServ");
+ forwardmsg = tag->getString("forwardmsg", "NOTICE $nick :*** Forwarding PASS to $nickrequired");
+ forwardcmd = tag->getString("cmd", "PRIVMSG $nickrequired :IDENTIFY $pass");
}
void FormatStr(std::string& result, const std::string& format, const LocalUser* user)
diff --git a/src/modules/m_remove.cpp b/src/modules/m_remove.cpp
index 454780d03..7d0ae7eea 100644
--- a/src/modules/m_remove.cpp
+++ b/src/modules/m_remove.cpp
@@ -219,8 +219,7 @@ class ModuleRemove : public Module
virtual void OnRehash(User* user)
{
- ConfigReader conf;
- supportnokicks = conf.ReadFlag("remove", "supportnokicks", 0);
+ supportnokicks = ServerInstance->Config->ConfValue("remove")->getBool("supportnokicks");
}
virtual ~ModuleRemove()
diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp
index 41d2bb274..43cd31a2d 100644
--- a/src/modules/m_rline.cpp
+++ b/src/modules/m_rline.cpp
@@ -263,11 +263,11 @@ class ModuleRLine : public Module
virtual void OnRehash(User *user)
{
- ConfigReader Conf;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("rline");
- MatchOnNickChange = Conf.ReadFlag("rline", "matchonnickchange", 0);
- ZlineOnMatch = Conf.ReadFlag("rline", "zlineonmatch", 0);
- std::string newrxengine = Conf.ReadValue("rline", "engine", 0);
+ MatchOnNickChange = tag->getBool("matchonnickchange");
+ ZlineOnMatch = tag->getBool("zlineonmatch");
+ std::string newrxengine = tag->getString("engine");
if (newrxengine.empty())
rxfactory.SetProvider("regex");
diff --git a/src/modules/m_securelist.cpp b/src/modules/m_securelist.cpp
index c13e1a892..e04a61e9e 100644
--- a/src/modules/m_securelist.cpp
+++ b/src/modules/m_securelist.cpp
@@ -46,13 +46,13 @@ class ModuleSecureList : public Module
void OnRehash(User* user)
{
- ConfigReader MyConf;
allowlist.clear();
- for (int i = 0; i < MyConf.Enumerate("securehost"); i++)
- allowlist.push_back(MyConf.ReadValue("securehost", "exception", i));
+ ConfigTagList tags = ServerInstance->Config->ConfTags("securehost");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
+ allowlist.push_back(i->second->getString("exception"));
- WaitTime = MyConf.ReadInteger("securelist", "waittime", "60", 0, true);
+ WaitTime = ServerInstance->Config->ConfValue("securelist")->getInt("waittime", 60);
}
diff --git a/src/modules/m_sethost.cpp b/src/modules/m_sethost.cpp
index ae0cc7c56..907649158 100644
--- a/src/modules/m_sethost.cpp
+++ b/src/modules/m_sethost.cpp
@@ -86,11 +86,7 @@ class ModuleSetHost : public Module
void OnRehash(User* user)
{
- ConfigReader Conf;
- std::string hmap = Conf.ReadValue("hostname", "charmap", 0);
-
- if (hmap.empty())
- hmap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789";
+ std::string hmap = ServerInstance->Config->ConfValue("hostname")->getString("charmap", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789");
memset(hostmap, 0, sizeof(hostmap));
for (std::string::iterator n = hmap.begin(); n != hmap.end(); n++)
diff --git a/src/modules/m_showwhois.cpp b/src/modules/m_showwhois.cpp
index d81dd553d..3b2ea7de9 100644
--- a/src/modules/m_showwhois.cpp
+++ b/src/modules/m_showwhois.cpp
@@ -76,9 +76,10 @@ class ModuleShowwhois : public Module
ModuleShowwhois() : cmd(this)
{
- ConfigReader conf;
- bool OpersOnly = conf.ReadFlag("showwhois", "opersonly", "yes", 0);
- ShowWhoisFromOpers = conf.ReadFlag("showwhois", "showfromopers", "yes", 0);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("showwhois");
+
+ bool OpersOnly = tag->getBool("opersonly", true);
+ ShowWhoisFromOpers = tag->getBool("showfromopers", true);
sw = new SeeWhois(this, OpersOnly);
if (!ServerInstance->Modes->AddMode(sw))
diff --git a/src/modules/m_shun.cpp b/src/modules/m_shun.cpp
index 7e84b8fda..096d2f9ee 100644
--- a/src/modules/m_shun.cpp
+++ b/src/modules/m_shun.cpp
@@ -214,8 +214,8 @@ class ModuleShun : public Module
virtual void OnRehash(User* user)
{
- ConfigReader MyConf;
- std::string cmds = MyConf.ReadValue("shun", "enabledcommands", 0);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("shun");
+ std::string cmds = tag->getString("enabledcommands");
std::transform(cmds.begin(), cmds.end(), cmds.begin(), ::toupper);
if (cmds.empty())
@@ -231,8 +231,8 @@ class ModuleShun : public Module
ShunEnabledCommands.insert(thiscmd);
}
- NotifyOfShun = MyConf.ReadFlag("shun", "notifyuser", "yes", 0);
- affectopers = MyConf.ReadFlag("shun", "affectopers", "no", 0);
+ NotifyOfShun = tag->getBool("notifyuser", true);
+ affectopers = tag->getBool("affectopers", false);
}
virtual ModResult OnPreCommand(std::string &command, std::vector<std::string>& parameters, LocalUser* user, bool validated, const std::string &original_line)
diff --git a/src/modules/m_silence.cpp b/src/modules/m_silence.cpp
index 81e4bc3d8..d56ee145d 100644
--- a/src/modules/m_silence.cpp
+++ b/src/modules/m_silence.cpp
@@ -310,8 +310,7 @@ class ModuleSilence : public Module
void OnRehash(User* user)
{
- ConfigReader Conf;
- maxsilence = Conf.ReadInteger("silence", "maxentries", 0, true);
+ maxsilence = ServerInstance->Config->ConfValue("showwhois")->getInt("maxentries", 32);
if (!maxsilence)
maxsilence = 32;
}
diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp
index 471026887..cc1c400db 100644
--- a/src/modules/m_spanningtree/utils.cpp
+++ b/src/modules/m_spanningtree/utils.cpp
@@ -327,16 +327,16 @@ void SpanningTreeUtilities::RefreshIPCache()
void SpanningTreeUtilities::ReadConfiguration()
{
- ConfigReader Conf;
-
- FlatLinks = Conf.ReadFlag("security","flatlinks",0);
- HideULines = Conf.ReadFlag("security","hideulines",0);
- AnnounceTSChange = Conf.ReadFlag("options","announcets",0);
- AllowOptCommon = Conf.ReadFlag("options", "allowmismatch", 0);
- ChallengeResponse = !Conf.ReadFlag("security", "disablehmac", 0);
- quiet_bursts = Conf.ReadFlag("performance", "quietbursts", 0);
- PingWarnTime = Conf.ReadInteger("options", "pingwarning", 0, true);
- PingFreq = Conf.ReadInteger("options", "serverpingfreq", 0, true);
+ ConfigTag* security = ServerInstance->Config->ConfValue("security");
+ ConfigTag* options = ServerInstance->Config->ConfValue("options");
+ FlatLinks = security->getBool("flatlinks");
+ HideULines = security->getBool("hideulines");
+ AnnounceTSChange = options->getBool("announcets");
+ AllowOptCommon = options->getBool("allowmismatch");
+ ChallengeResponse = !security->getBool("disablehmac");
+ quiet_bursts = ServerInstance->Config->ConfValue("performance")->getBool("quietbursts");
+ PingWarnTime = options->getInt("pingwarning");
+ PingFreq = options->getInt("serverpingfreq");
if (PingFreq == 0)
PingFreq = 60;
diff --git a/src/modules/m_watch.cpp b/src/modules/m_watch.cpp
index 6aa12b4e7..3750fceac 100644
--- a/src/modules/m_watch.cpp
+++ b/src/modules/m_watch.cpp
@@ -390,8 +390,7 @@ class Modulewatch : public Module
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
- maxwatch = Conf.ReadInteger("watch", "maxentries", 0, true);
+ maxwatch = ServerInstance->Config->ConfValue("watch")->getInt("maxentries", 32);
if (!maxwatch)
maxwatch = 32;
}