From b080d93a710658814b789e57120a7eaa4d646e9c Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 May 2026 20:34:32 +0200 Subject: [PATCH 1/2] Bugfix: Allow remote +a channel mode from servers (reported by tomocha) --- ircd/channel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ircd/channel.c b/ircd/channel.c index 73a16427..ece1a534 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -1512,7 +1512,8 @@ static int set_mode(aClient *cptr, aClient *sptr, aChannel *chptr, if (*ip) { if ((*ip == MODE_ANONYMOUS || *ip == MODE_REOP) - && whatt == MODE_ADD && !IsServer(sptr)) + && whatt == MODE_ADD && MyConnect(sptr) + && !IsServer(sptr)) sendto_one(cptr, replies[ERR_UNKNOWNMODE], ME, BadTo(sptr->name), *curr, From 903bf2b76a867d501f34ba48d37b1de102401b0c Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 16 May 2026 14:59:12 +0200 Subject: [PATCH 2/2] Do not block clients anymore from sending channel mode +a (revert, requested by tomocha) --- ircd/channel.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ircd/channel.c b/ircd/channel.c index ece1a534..24e73f85 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -1511,13 +1511,14 @@ static int set_mode(aClient *cptr, aClient *sptr, aChannel *chptr, if (*ip) { - if ((*ip == MODE_ANONYMOUS || *ip == MODE_REOP) - && whatt == MODE_ADD && MyConnect(sptr) - && !IsServer(sptr)) - sendto_one(cptr, - replies[ERR_UNKNOWNMODE], - ME, BadTo(sptr->name), *curr, - chptr->chname); + if (*ip == MODE_REOP + && whatt == MODE_ADD + && MyConnect(sptr) + && !IsServer(sptr)) + sendto_one(cptr, + replies[ERR_UNKNOWNMODE], + ME, BadTo(sptr->name), *curr, + chptr->chname); else { /*