From eba7e6655a21c752912995aa04355f0df112f8e5 Mon Sep 17 00:00:00 2001 From: Justasic Date: Sat, 25 Feb 2012 23:57:36 -0500 Subject: m_remove: forbid removing ulined users --- src/modules/m_remove.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/modules/m_remove.cpp') 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)) { -- cgit v1.3.1-10-gc9f91