summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorJustasic <Justasic@gmail.com>2012-02-25 23:57:36 -0500
committerDaniel De Graaf <danieldg@inspircd.org>2012-02-25 23:57:36 -0500
commiteba7e6655a21c752912995aa04355f0df112f8e5 (patch)
treea0c0aee9c74d41450cde46366fcc73ff61fc2119 /src/modules
parenta673d973807c81c6211b39cc046de5af53c4bd99 (diff)
m_remove: forbid removing ulined users
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_remove.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/modules/m_remove.cpp b/src/modules/m_remove.cpp
index 2394332be..ffbae43bb 100644
--- a/src/modules/m_remove.cpp
+++ b/src/modules/m_remove.cpp
@@ -77,6 +77,11 @@ class RemoveBase : public Command
hasnokicks = (ServerInstance->Modules->Find("m_nokicks.so") && channel->IsModeSet('Q'));
+ if((ServerInstance->ULine(target->server) || ServerInstance->ULine(target->nick.c_str()))){
+ user->WriteNumeric(482, "%s %s :Only a u-line may remove a u-line from a channel.", user->nick.c_str(), channame);
+ return CMD_FAILURE;
+ }
+
/* We support the +Q channel mode via. the m_nokicks module, if the module is loaded and the mode is set then disallow the /remove */
if ((!IS_LOCAL(user)) || (!supportnokicks || !hasnokicks))
{