From 193cd02c6b155e417144a700ba12551e06c76950 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Fri, 18 Jun 2021 18:03:44 +0100 Subject: Fix unsetting timed bans with excessively long masks. --- src/modules/m_timedbans.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/modules/m_timedbans.cpp') diff --git a/src/modules/m_timedbans.cpp b/src/modules/m_timedbans.cpp index 23dbf46c1..97074a686 100644 --- a/src/modules/m_timedbans.cpp +++ b/src/modules/m_timedbans.cpp @@ -128,6 +128,19 @@ class CommandTban : public Command return CMD_FAILURE; } + // Attempt to find the actual set ban mask. + const Modes::ChangeList::List& list = ServerInstance->Modes->GetLastChangeList().getlist(); + for (Modes::ChangeList::List::const_iterator iter = list.begin(); iter != list.end(); ++iter) + { + const Modes::Change& mc = *iter; + if (mc.mh == *banmode) + { + // We found the actual mask. + mask = mc.param; + break; + } + } + T.mask = mask; T.setter = user->nick; T.expire = expire + (IS_REMOTE(user) ? 5 : 0); -- cgit v1.3.1-10-gc9f91