From ec97c603288869efad52ed7235ae770f85a9d7e8 Mon Sep 17 00:00:00 2001 From: Nakidai Date: Thu, 12 Feb 2026 18:26:21 +0300 Subject: Fix KICK permissions IRC operators should be able to change channel modes as well --- handle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handle.c b/handle.c index a8b1e5f..2190bcf 100644 --- a/handle.c +++ b/handle.c @@ -93,7 +93,7 @@ kick(struct Message *msg, struct Peer *peer) if (ch->peers[i].p->fd == peer->fd) break; ensure(i != ch->peers_c, reply(peer, 442, ch->name), 0); - ensure(ch->peers[i].modes & CHANNEL_OPER, reply(peer, 482, ch->name), 0); + ensure(peer->modes & OPER || ch->peers[i].modes & CHANNEL_OPER, reply(peer, 482, ch->name), 0); for (i = 0; i < ch->peers_c; ++i) if (!strcmp(ch->peers[i].p->nick, msg->params[1])) -- cgit 1.4.1