From eb477c3793133df91139e8aacff5fdf81ca98650 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Wed, 19 Jan 2022 00:54:03 -0500 Subject: [PATCH] fix #1901 AMODE +v should allow you to join a +i channel --- irc/channel.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/irc/channel.go b/irc/channel.go index 64a1605c..eaddd55b 100644 --- a/irc/channel.go +++ b/irc/channel.go @@ -767,7 +767,8 @@ func (channel *Channel) Join(client *Client, key string, isSajoin bool, rb *Resp return errWrongChannelKey, forward } - if channel.flags.HasMode(modes.InviteOnly) && + // #1901: +h and up exempt from all restrictions, but +v additionally exempts from +i: + if channel.flags.HasMode(modes.InviteOnly) && persistentMode == 0 && !channel.lists[modes.InviteMask].Match(details.nickMaskCasefolded) { return errInviteOnly, forward }