# HG changeset patch # User Matthew Wild # Date 1750947209 -3600 # Node ID 827a4cfd3fad66f42d4727d96700a671583aa538 # Parent 0749265327d2676b13afe14344b4d416e1554a5c MUC: Don't allow self-registration into members-only MUCs when unaffiliated registration enabled diff -r 0749265327d2 -r 827a4cfd3fad plugins/muc/register.lib.lua --- a/plugins/muc/register.lib.lua Thu Jun 26 14:39:45 2025 +0100 +++ b/plugins/muc/register.lib.lua Thu Jun 26 15:13:29 2025 +0100 @@ -125,9 +125,16 @@ if affiliation == "outcast" then origin.send(st.error_reply(stanza, "auth", "forbidden")); return true; - elseif not (affiliation or allow_unaffiliated) then - origin.send(st.error_reply(stanza, "auth", "registration-required")); - return true; + elseif not affiliation then + if room:get_members_only() then + -- Never allow unaffiliated users to register their way into a members-only room + origin.send(st.error_reply(stanza, "auth", "forbidden")); + return true; + elseif not allow_unaffiliated then + -- Not members-only, but we're not permitting registration due to config + origin.send(st.error_reply(stanza, "auth", "registration-required")); + return true; + end end local reply = st.reply(stanza); local registered_nick = get_registered_nick(room, user_jid);