From c99b2be40380f61c9738a77a443d3ad19be7bdf7 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Thu, 15 Jul 2021 04:26:38 -0400 Subject: [PATCH] fix #1757 Allow SAJOIN or implicit always-on join to override channels.operator-only-creation --- irc/channelmanager.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/irc/channelmanager.go b/irc/channelmanager.go index c8af03f6..7952682e 100644 --- a/irc/channelmanager.go +++ b/irc/channelmanager.go @@ -128,7 +128,8 @@ func (cm *ChannelManager) Join(client *Client, name string, key string, isSajoin if entry == nil { registered := cm.registeredChannels.Has(casefoldedName) // enforce OpOnlyCreation - if !registered && server.Config().Channels.OpOnlyCreation && !client.HasRoleCapabs("chanreg") { + if !registered && server.Config().Channels.OpOnlyCreation && + !(isSajoin || client.HasRoleCapabs("chanreg")) { return nil, errInsufficientPrivs } // enforce confusables