diff options
-rw-r--r-- | docs/inspircd.conf.example | 16 | ||||
-rw-r--r-- | include/configreader.h | 2 | ||||
-rw-r--r-- | 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 # # # -<limits nickmax="31" - chanmax="64" - modemax="20" - identmax="11" +<limits maxnick="31" + maxchan="64" + maxmodes="20" + maxident="11" maxquit="255" maxtopic="307" maxkick="255" diff --git a/include/configreader.h b/include/configreader.h index 56a2ee698..840e227de 100644 --- a/include/configreader.h +++ b/include/configreader.h @@ -150,6 +150,8 @@ typedef ValueContainer<char*> ValueContainerChar; */ typedef ValueContainer<int*> ValueContainerInt; +typedef ValueContainer<size_t*> ValueContainerST; + /** A set of ValueItems used by multi-value validator functions */ typedef std::deque<ValueItem> 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. */ |