From d01978194558a422cf886acb114546d0cbe84c76 Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 25 May 2008 18:00:55 +0000 Subject: [PATCH] Add parsing of tag and finish documenting it, make all the values match sensibly by starting them all 'max' rather than some starting with it, some ending with it... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9808 e03df62e-2008-0410-955e-edbf42e46eb7 --- docs/inspircd.conf.example | 16 ++++++++-------- include/configreader.h | 2 ++ src/configreader.cpp | 10 ++++++++++ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/docs/inspircd.conf.example b/docs/inspircd.conf.example index 8e7ebdb00..c925971d5 100644 --- a/docs/inspircd.conf.example +++ b/docs/inspircd.conf.example @@ -1052,11 +1052,11 @@ # # # Values here should be self explanitory: # # # -# nickmax - The maximum length of a nickname # -# chanmax - The maximum length of a channel name # -# modemax - The maximum number of parameterized mode changes # +# maxnick - The maximum length of a nickname # +# maxchan - The maximum length of a channel name # +# maxmodes - The maximum number of parameterized mode changes # # per line # -# identmax - The maximum length of an ident/username value # +# maxident - The maximum length of an ident/username value # # maxquit - The maximum length of a quit message # # maxtopic - The maximum length of a channel topic # # maxkick - The maximum length of a kick message # @@ -1064,10 +1064,10 @@ # maxaway - The maximum length of an away message # # # - ValueContainerChar; */ typedef ValueContainer ValueContainerInt; +typedef ValueContainer ValueContainerST; + /** A set of ValueItems used by multi-value validator functions */ typedef std::deque ValueList; diff --git a/src/configreader.cpp b/src/configreader.cpp index 76aae190b..f572211f3 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -844,9 +844,19 @@ void ServerConfig::Read(bool bail, User* user) {"die", "value", "", new ValueContainerChar (this->DieValue), DT_CHARPTR, NoValidation}, {"channels", "users", "20", new ValueContainerUInt (&this->MaxChans), DT_INTEGER, NoValidation}, {"channels", "opers", "60", new ValueContainerUInt (&this->OperMaxChans), DT_INTEGER, NoValidation}, + {"limits", "maxnick", "32", new ValueContainerST (&this->Limits.NickMax), DT_INTEGER, NoValidation}, + {"limits", "maxchan", "64", new ValueContainerST (&this->Limits.ChanMax), DT_INTEGER, NoValidation}, + {"limits", "maxmodes", "20", new ValueContainerST (&this->Limits.MaxModes), DT_INTEGER, NoValidation}, + {"limits", "maxident", "11", new ValueContainerST (&this->Limits.IdentMax), DT_INTEGER, NoValidation}, + {"limits", "maxquit", "255", new ValueContainerST (&this->Limits.MaxQuit), DT_INTEGER, NoValidation}, + {"limits", "maxtopic", "307", new ValueContainerST (&this->Limits.MaxTopic), DT_INTEGER, NoValidation}, + {"limits", "maxkick", "255", new ValueContainerST (&this->Limits.MaxKick), DT_INTEGER, NoValidation}, + {"limits", "maxgecos", "128", new ValueContainerST (&this->Limits.MaxGecos), DT_INTEGER, NoValidation}, + {"limits", "maxaway", "200", new ValueContainerST (&this->Limits.MaxAway), DT_INTEGER, NoValidation}, {NULL, NULL, NULL, NULL, DT_NOTHING, NoValidation} }; + /* These tags can occur multiple times, and therefore they have special code to read them * which is different to the code for reading the singular tags listed above. */ -- 2.39.5