From 360a5af90d960335fa231dc38e9fa33648cb4f12 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Wed, 22 Apr 2020 21:52:24 -0400 Subject: [PATCH] fix #950 --- irc/channel.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/irc/channel.go b/irc/channel.go index f0ff6cef..0fb3f8b6 100644 --- a/irc/channel.go +++ b/irc/channel.go @@ -541,10 +541,16 @@ func (channel *Channel) ClientPrefixes(client *Client, isMultiPrefix bool) strin func (channel *Channel) ClientHasPrivsOver(client *Client, target *Client) bool { channel.stateMutex.RLock() + founder := channel.registeredFounder clientModes := channel.members[client] targetModes := channel.members[target] channel.stateMutex.RUnlock() + if founder != "" && founder == client.Account() { + // #950: founder can kick or whatever without actually having the +q mode + return true + } + return channelUserModeHasPrivsOver(clientModes.HighestChannelUserMode(), targetModes.HighestChannelUserMode()) }