From 06add0e5fc1b83b43014e731cb94229ab2be66f6 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 12 Mar 2024 12:22:57 +0000 Subject: Simplify limit extraction code. --- modules/protocol/hybrid.cpp | 2 +- modules/protocol/inspircd.cpp | 49 ++++++++--------------------------------- modules/protocol/ngircd.cpp | 12 +--------- modules/protocol/unrealircd.cpp | 2 +- 4 files changed, 12 insertions(+), 53 deletions(-) (limited to 'modules/protocol') diff --git a/modules/protocol/hybrid.cpp b/modules/protocol/hybrid.cpp index 4d2ed2e82..b060c4f43 100644 --- a/modules/protocol/hybrid.cpp +++ b/modules/protocol/hybrid.cpp @@ -280,7 +280,7 @@ public: bool IsIdentValid(const Anope::string &ident) override { - if (ident.empty() || ident.length() > IRCD->GetMaxUser()) + if (ident.empty() || ident.length() > IRCD->MaxUser) return false; /* diff --git a/modules/protocol/inspircd.cpp b/modules/protocol/inspircd.cpp index e0cf20b85..8ba398038 100644 --- a/modules/protocol/inspircd.cpp +++ b/modules/protocol/inspircd.cpp @@ -25,18 +25,6 @@ struct SASLUser final namespace { - // The maximum length of a channel name. - size_t maxchannel = 0; - - // The maximum length of a hostname. - size_t maxhost = 0; - - // The maximum length of a nickname. - size_t maxnick = 0; - - // The maximum length of a username. - size_t maxuser = 0; - // The SID of a server we are waiting to squit. Anope::string rsquit_id; @@ -159,16 +147,6 @@ public: MaxLine = 4096; } - size_t GetMaxChannel() override - { - return maxchannel ? maxchannel : IRCDProto::GetMaxChannel(); - } - - size_t GetMaxHost() override - { - return maxhost ? maxhost : IRCDProto::GetMaxHost(); - } - size_t GetMaxListFor(Channel *c, ChannelMode *cm) override { ListLimits *limits = maxlist.Get(c); @@ -183,15 +161,6 @@ public: return IRCDProto::GetMaxListFor(c, cm); } - size_t GetMaxNick() override - { - return maxnick ? maxnick : IRCDProto::GetMaxNick(); - } - - size_t GetMaxUser() override - { - return maxuser ? maxuser : IRCDProto::GetMaxUser(); - } void SendConnect() override { @@ -650,7 +619,7 @@ public: bool IsIdentValid(const Anope::string &ident) override { - if (ident.empty() || ident.length() > IRCD->GetMaxUser()) + if (ident.empty() || ident.length() > IRCD->MaxUser) return false; for (auto c : ident) @@ -1540,25 +1509,25 @@ struct IRCDMessageCapab final { auto [tokname, tokvalue] = ParseCapability(capab); if (tokname == "MAXCHANNEL") - maxchannel = tokvalue; + IRCD->MaxChannel = tokvalue; else if (tokname == "MAXHOST") - maxhost = tokvalue; + IRCD->MaxHost = tokvalue; else if (tokname == "MAXMODES") IRCD->MaxModes = tokvalue; else if (tokname == "MAXNICK") - maxnick = tokvalue; + IRCD->MaxNick = tokvalue; else if (tokname == "MAXUSER") - maxuser = tokvalue; + IRCD->MaxUser = tokvalue; // Deprecated 1205 keys. else if (tokname == "CHANMAX") - maxchannel = tokvalue; + IRCD->MaxChannel = tokvalue; else if (tokname == "GLOBOPS" && tokvalue) Servers::Capab.insert("GLOBOPS"); else if (tokname == "IDENTMAX") - maxuser = tokvalue; + IRCD->MaxUser = tokvalue; else if (tokname == "NICKMAX") - maxnick = tokvalue; + IRCD->MaxNick = tokvalue; } } else if (params[0].equals_cs("END")) @@ -1995,7 +1964,7 @@ struct IRCDMessageFJoin final users.push_back(sju); } - auto ts = IRCD->ExtractTimestamp(params[0]); + auto ts = IRCD->ExtractTimestamp(params[1]); Message::Join::SJoin(source, params[0], ts, modes, users); } }; diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp index ea9d92294..fc56d1055 100644 --- a/modules/protocol/ngircd.cpp +++ b/modules/protocol/ngircd.cpp @@ -12,11 +12,6 @@ #include "module.h" #include "numeric.h" -namespace -{ - size_t nicklen = 0; -} - class ngIRCdProto final : public IRCDProto { @@ -37,11 +32,6 @@ public: MaxModes = 5; } - size_t GetMaxNick() override - { - return nicklen ? nicklen : IRCDProto::GetMaxNick(); - } - void SendAkill(User *u, XLine *x) override { // Calculate the time left before this would expire @@ -182,7 +172,7 @@ struct IRCDMessage005 final } else if (parameter == "NICKLEN") { - nicklen = Anope::Convert(data, 0); + IRCD->MaxNick = Anope::Convert(data, IRCD->MaxNick); } } } diff --git a/modules/protocol/unrealircd.cpp b/modules/protocol/unrealircd.cpp index a49adac56..195ad617c 100644 --- a/modules/protocol/unrealircd.cpp +++ b/modules/protocol/unrealircd.cpp @@ -423,7 +423,7 @@ private: bool IsIdentValid(const Anope::string &ident) override { - if (ident.empty() || ident.length() > IRCD->GetMaxUser()) + if (ident.empty() || ident.length() > IRCD->MaxUser) return false; for (auto c : ident) -- cgit