diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/channel.c | 5 |
1 files changed, 5 insertions, 0 deletions
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, |