From af5bb252d3dc6d373fb56ed0862074fa05b84a94 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 24 Oct 2023 22:05:08 +0100 Subject: Fix matching SVSHOLDs against unusual matches. These should be a case insensitive absolue match not a case sensitive or glob match. --- src/modules/m_svshold.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/modules') diff --git a/src/modules/m_svshold.cpp b/src/modules/m_svshold.cpp index 7bd8a82d4..12be08288 100644 --- a/src/modules/m_svshold.cpp +++ b/src/modules/m_svshold.cpp @@ -50,14 +50,12 @@ public: bool Matches(User* u) CXX11_OVERRIDE { - if (u->nick == nickname) - return true; - return false; + return irc::equals(u->nick, nickname); } bool Matches(const std::string& s) CXX11_OVERRIDE { - return InspIRCd::Match(s, nickname); + return irc::equals(s, nickname); } void DisplayExpiry() CXX11_OVERRIDE -- cgit v1.3.1-10-gc9f91 From fd86ce3df6b6bf8165589cf6ee4b8b9b50b5add5 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 24 Oct 2023 22:09:51 +0100 Subject: Apply SVSHOLDs to already existing users. --- src/modules/m_svshold.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/modules') diff --git a/src/modules/m_svshold.cpp b/src/modules/m_svshold.cpp index 12be08288..2e29625e0 100644 --- a/src/modules/m_svshold.cpp +++ b/src/modules/m_svshold.cpp @@ -48,6 +48,12 @@ public: { } + void Apply(User* u) CXX11_OVERRIDE + { + u->WriteNumeric(RPL_SAVENICK, u->nick, InspIRCd::Format("Services reserved nickname: %s", reason.c_str())); + u->ChangeNick(u->uuid); + } + bool Matches(User* u) CXX11_OVERRIDE { return irc::equals(u->nick, nickname); @@ -83,11 +89,6 @@ class SVSHoldFactory : public XLineFactory { return new SVSHold(set_time, duration, source, reason, xline_specific_mask); } - - bool AutoApplyToUserList(XLine* x) CXX11_OVERRIDE - { - return false; - } }; /** Handle /SVSHold -- cgit v1.3.1-10-gc9f91