From e27ee3829851871460c0ed521cd8998f0b24e5c4 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Wed, 16 Apr 2025 12:26:51 +0100 Subject: Allow SVSCMODE to opt-out of a full ban check. --- modules/services.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'modules/services.cpp') diff --git a/modules/services.cpp b/modules/services.cpp index 12ff4d01c..93bdcc57e 100644 --- a/modules/services.cpp +++ b/modules/services.cpp @@ -266,6 +266,10 @@ public: if (!c) return CmdResult::FAILURE; + auto full = ServerInstance->Config->BanRealMask; + if (parameters.size() > 3) + full = !!ConvToNum(parameters[3], 1); + for (auto mode : parameters[2]) { auto* mh = ServerInstance->Modes.FindMode(mode, MODETYPE_CHANNEL); @@ -279,7 +283,7 @@ public: Modes::ChangeList changelist; for (const auto& entry : *list) { - if (c->CheckBan(u, entry.mask)) + if (c->CheckBan(u, entry.mask, full)) changelist.push(mh, false, entry.mask); } ServerInstance->Modes.Process(user, c, nullptr, changelist); -- cgit v1.3.1-10-gc9f91