aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_inviteexception.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_inviteexception.cpp')
-rw-r--r--src/modules/m_inviteexception.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/modules/m_inviteexception.cpp b/src/modules/m_inviteexception.cpp
index 565bb4bf9..8db100230 100644
--- a/src/modules/m_inviteexception.cpp
+++ b/src/modules/m_inviteexception.cpp
@@ -24,6 +24,7 @@
#include "inspircd.h"
#include "listmode.h"
+#include "modules/extban.h"
#include "modules/isupport.h"
enum
@@ -36,12 +37,23 @@ enum
class InviteException final
: public ListModeBase
{
+private:
+ ExtBan::ManagerRef extbanmgr;
+
public:
InviteException(Module* Creator)
- : ListModeBase(Creator, "invex", 'I', RPL_INVEXLIST, RPL_ENDOFINVEXLIST, true)
+ : ListModeBase(Creator, "invex", 'I', RPL_INVEXLIST, RPL_ENDOFINVEXLIST)
+ , extbanmgr(Creator)
{
syntax = "<mask>";
}
+
+ bool CanonicalizeParam(LocalUser* user, Channel* channel, std::string& parameter) override
+ {
+ if (!extbanmgr || !extbanmgr->Canonicalize(parameter))
+ ModeParser::CleanMask(parameter);
+ return true;
+ }
};
class ModuleInviteException final