]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_override.cpp
Merge pull request #1361 from genius3000/master+rline_IP
[user/henk/code/inspircd.git] / src / modules / m_override.cpp
index 8bf1d30792f01a9a136d3caa3abc96f5581dc3de..fd09dd6ec96178fb283b56c63ac9316f6e1d3347 100644 (file)
@@ -58,7 +58,7 @@ class ModuleOverride : public Module
                }
 
                if (NoisyOverride)
-                       chan->WriteChannelWithServ(ServerInstance->Config->ServerName, "NOTICE %s :%s used oper override to bypass %s", chan->name.c_str(), user->nick.c_str(), bypasswhat);
+                       chan->WriteNotice(InspIRCd::Format("%s used oper override to bypass %s", user->nick.c_str(), bypasswhat));
                ServerInstance->SNO->WriteGlobalSno('v', user->nick+" used oper override to bypass " + mode + " on " + chan->name);
                return MOD_RES_ALLOW;
        }
@@ -121,7 +121,8 @@ class ModuleOverride : public Module
                if (source->IsOper() && CanOverride(source,"KICK"))
                {
                        // If the kicker's status is less than the target's,                    or      the kicker's status is less than or equal to voice
-                       if ((memb->chan->GetPrefixValue(source) < memb->getRank()) || (memb->chan->GetPrefixValue(source) <= VOICE_VALUE))
+                       if ((memb->chan->GetPrefixValue(source) < memb->getRank()) || (memb->chan->GetPrefixValue(source) <= VOICE_VALUE) ||
+                           (memb->chan->GetPrefixValue(source) == HALFOP_VALUE && memb->getRank() == HALFOP_VALUE))
                        {
                                ServerInstance->SNO->WriteGlobalSno('v',source->nick+" used oper override to kick "+memb->user->nick+" on "+memb->chan->name+" ("+reason+")");
                                return MOD_RES_ALLOW;