summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2018-04-16 15:04:45 +0100
committerPeter Powell <petpow@saberuk.com>2018-04-16 15:04:45 +0100
commitdec17a2e32573a32751c975b5b55217442cd3185 (patch)
tree730165c661d91e9e9f8896a98b5a6d54b4a6d335
parent233c624056ade467c7b4b4dbebbf62628f00cc28 (diff)
Use an oper priv instead of a config flag for overriding nonicks.
-rw-r--r--docs/conf/opers.conf.example1
-rw-r--r--src/modules/m_nonicks.cpp8
2 files changed, 2 insertions, 7 deletions
diff --git a/docs/conf/opers.conf.example b/docs/conf/opers.conf.example
index 77c7f3e0a..8259a1598 100644
--- a/docs/conf/opers.conf.example
+++ b/docs/conf/opers.conf.example
@@ -27,6 +27,7 @@
# - users/mass-message: allows opers with this priv to PRIVMSG and NOTICE to a server mask (e.g. NOTICE $*)
# - users/samode-usermodes: allows opers with this priv to change the user modes of any other user using /SAMODE
# PERMISSIONS:
+ #. - channels/ignore-nonicks: allows opers with this priv to change their nick when on a +N channel.
# - users/flood/no-fakelag: prevents opers from being penalized with fake lag for flooding (*NOTE)
# - users/flood/no-throttle: allows opers with this priv to send commands without being throttled (*NOTE)
# - users/flood/increased-buffers: allows opers with this priv to send and receive data without worrying about being disconnected for exceeding limits (*NOTE)
diff --git a/src/modules/m_nonicks.cpp b/src/modules/m_nonicks.cpp
index c82107be8..998662c3c 100644
--- a/src/modules/m_nonicks.cpp
+++ b/src/modules/m_nonicks.cpp
@@ -26,7 +26,6 @@ class ModuleNoNickChange : public Module
{
CheckExemption::EventProvider exemptionprov;
SimpleChannelModeHandler nn;
- bool override;
public:
ModuleNoNickChange()
: exemptionprov(this)
@@ -55,7 +54,7 @@ class ModuleNoNickChange : public Module
if (res == MOD_RES_ALLOW)
continue;
- if (override && user->IsOper())
+ if (user->HasPrivPermission("channels/ignore-nonicks"))
continue;
if (!curr->GetExtBanStatus(user, 'N').check(!curr->IsModeSet(nn)))
@@ -68,11 +67,6 @@ class ModuleNoNickChange : public Module
return MOD_RES_PASSTHRU;
}
-
- void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
- {
- override = ServerInstance->Config->ConfValue("nonicks")->getBool("operoverride", false);
- }
};
MODULE_INIT(ModuleNoNickChange)