From 890da482ef9e8b043c83d6afc0aa1ce3899babce Mon Sep 17 00:00:00 2001 From: David Schultz Date: Mon, 20 Sep 2021 18:10:36 -0500 Subject: [PATCH] Add the channels/ignore-repeat priv to exempt opers from +E. --- docs/conf/opers.conf.example | 1 + src/modules/m_repeat.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/docs/conf/opers.conf.example b/docs/conf/opers.conf.example index 330a366c2..bed4169b9 100644 --- a/docs/conf/opers.conf.example +++ b/docs/conf/opers.conf.example @@ -29,6 +29,7 @@ # PERMISSIONS: # - channels/ignore-noctcp: allows opers with this priv to send a CTCP to a +C channel. # - channels/ignore-nonicks: allows opers with this priv to change their nick when on a +N channel. + # - channels/ignore-repeat: allows opers with this priv to be immune to repeat punishment on a +E channel. # - channels/restricted-create: allows opers with this priv to create channels if the restrictchans module is loaded. # - users/flood/increased-buffers: allows opers with this priv to send and receive data without worrying about being disconnected for exceeding limits (*NOTE). # - users/flood/no-fakelag: prevents opers from being penalized with fake lag for flooding (*NOTE). diff --git a/src/modules/m_repeat.cpp b/src/modules/m_repeat.cpp index 33ca5b057..bda5dd4c4 100644 --- a/src/modules/m_repeat.cpp +++ b/src/modules/m_repeat.cpp @@ -396,6 +396,9 @@ class RepeatModule : public Module if (res == MOD_RES_ALLOW) return MOD_RES_PASSTHRU; + if (user->HasPrivPermission("channels/ignore-repeat")) + return MOD_RES_PASSTHRU; + if (rm.MatchLine(memb, settings, details.text)) { if (settings->Action == ChannelSettings::ACT_BLOCK)