diff options
-rw-r--r-- | include/configreader.h | 13 | ||||
-rw-r--r-- | src/configreader.cpp | 5 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/configreader.h b/include/configreader.h index 840e227de..2556cf088 100644 --- a/include/configreader.h +++ b/include/configreader.h @@ -248,6 +248,19 @@ class ServerLimits : public Extensible ServerLimits() : NickMax(31), ChanMax(64), MaxModes(20), IdentMax(12), MaxQuit(255), MaxTopic(307), MaxKick(255), MaxGecos(128), MaxAway(200) { } + + void Finalise() + { + NickMax++; + ChanMax++; + MaxModes++; + IdentMax++; + MaxQuit++; + MaxTopic++; + MaxKick++; + MaxGecos++; + MaxAway++; + } }; /** This class holds the bulk of the runtime configuration for the ircd. diff --git a/src/configreader.cpp b/src/configreader.cpp index f572211f3..2320496c8 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -1169,6 +1169,11 @@ void ServerConfig::Read(bool bail, User* user) MultiValues[Index].finish_function(this, MultiValues[Index].tag); } + /* Finalise the limits, increment them all by one so that we can just put assign(str, 0, val) + * rather than assign(str, 0, val + 1) + */ + Limits.Finalise(); + } catch (CoreException &ce) |