diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-10-31 12:12:30 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-10-31 12:12:30 +0000 |
commit | 0c3eeb1ae4888d0e761f852c0073ab57ad628d0b (patch) | |
tree | 382f24a33b2d710e2ed911f5ffd626f7eeb18f45 /src/configreader.cpp | |
parent | be1286835c016ed2602db8e42f7ca0b367767242 (diff) |
Clean up XLine conf stuff a little bit, move most of it to configreader. Also, check elines and call ApplyLines on both rehash and startup.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8425 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/configreader.cpp')
-rw-r--r-- | src/configreader.cpp | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp index d14fc92a8..e0d66d525 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -181,6 +181,11 @@ bool NoValidation(ServerConfig*, const char*, const char*, ValueItem&) return true; } +bool DoneConfItem(ServerConfig* conf, const char* tag) +{ + return true; +} + bool ValidateMaxTargets(ServerConfig* conf, const char*, const char*, ValueItem &data) { if ((data.GetInteger() < 0) || (data.GetInteger() > 31)) @@ -793,19 +798,19 @@ void ServerConfig::Read(bool bail, User* user) {"reason", "ipmask", NULL}, {"No reason", "", NULL}, {DT_CHARPTR, DT_CHARPTR}, - InitXLine, DoZLine, DoneZLine}, + InitXLine, DoZLine, DoneConfItem}, {"badnick", {"reason", "nick", NULL}, {"No reason", "", NULL}, {DT_CHARPTR, DT_CHARPTR}, - InitXLine, DoQLine, DoneQLine}, + InitXLine, DoQLine, DoneConfItem}, {"badhost", {"reason", "host", NULL}, {"No reason", "", NULL}, {DT_CHARPTR, DT_CHARPTR}, - InitXLine, DoKLine, DoneKLine}, + InitXLine, DoKLine, DoneConfItem}, {"exception", {"reason", "host", NULL}, @@ -1907,3 +1912,46 @@ bool DoneClassesAndTypes(ServerConfig*, const char*) return true; } + + +bool InitXLine(ServerConfig* conf, const char* tag) +{ + return true; +} + +bool DoZLine(ServerConfig* conf, const char* tag, char** entries, ValueList &values, int* types) +{ + const char* reason = values[0].GetString(); + const char* ipmask = values[1].GetString(); + + conf->GetInstance()->XLines->AddZLine(0,"<Config>",reason,ipmask); + return true; +} + +bool DoQLine(ServerConfig* conf, const char* tag, char** entries, ValueList &values, int* types) +{ + const char* reason = values[0].GetString(); + const char* nick = values[1].GetString(); + + conf->GetInstance()->XLines->AddQLine(0,"<Config>",reason,nick); + return true; +} + +bool DoKLine(ServerConfig* conf, const char* tag, char** entries, ValueList &values, int* types) +{ + const char* reason = values[0].GetString(); + const char* host = values[1].GetString(); + + conf->GetInstance()->XLines->AddKLine(0,"<Config>",reason,host); + return true; +} + +bool DoELine(ServerConfig* conf, const char* tag, char** entries, ValueList &values, int* types) +{ + const char* reason = values[0].GetString(); + const char* host = values[1].GetString(); + + conf->GetInstance()->XLines->AddELine(0,"<Config>",reason,host); + return true; +} + |