From: LucentW Date: Mon, 11 May 2015 20:05:08 +0000 (+0200) Subject: IRC operators w/OperCanMode can kick anyone X-Git-Tag: rel-23-rc1~30 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=commitdiff_plain;h=5c48d7e9c7f0181772c14b133030a3c0e978fdc5;ds=sidebyside IRC operators w/OperCanMode can kick anyone Closes #202. (cherry picked from commit 10c7ba99e73b42ec8c4c191ccdae60bdd35bba7d) --- diff --git a/src/ngircd/channel.c b/src/ngircd/channel.c index 6d8dde3e..e74cd6eb 100644 --- a/src/ngircd/channel.c +++ b/src/ngircd/channel.c @@ -359,6 +359,11 @@ Channel_Kick(CLIENT *Peer, CLIENT *Target, CLIENT *Origin, const char *Name, !Channel_UserHasMode(chan, Target, 'a') && !Channel_UserHasMode(chan, Target, 'o')) can_kick = true; + + /* IRC operators & IRCd with OperCanMode enabled + * can kick anyways regardless of privilege */ + else if(Client_HasMode(Origin, 'o') && Conf_OperCanMode) + can_kick = true; if(!can_kick) { IRC_WriteErrClient(Origin, ERR_CHANOPPRIVTOOLOW_MSG,