aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/muc/muc.lib.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2016-05-28 12:37:51 +0200
committerKim Alvefur <zash@zash.se>2016-05-28 12:37:51 +0200
commit609c8e58a269587412e5aa555d06bc5725a574bc (patch)
treec09f2ab54050c890c5472ee18733e11ac8a2b76a /plugins/muc/muc.lib.lua
parentc6db698f654bc19e112f6106e464ab97d8d78e1a (diff)
downloadprosody-609c8e58a269587412e5aa555d06bc5725a574bc.tar.gz
prosody-609c8e58a269587412e5aa555d06bc5725a574bc.zip
MUC: Allow members (or above) in members-only non-anonymous rooms to see the member list (fixes #445)
Diffstat (limited to 'plugins/muc/muc.lib.lua')
-rw-r--r--plugins/muc/muc.lib.lua3
1 files changed, 2 insertions, 1 deletions
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index 88ee43c1..4018489a 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -803,7 +803,8 @@ function room_mt:handle_to_room(origin, stanza) -- presence changes and groupcha
local _aff = item.attr.affiliation;
local _rol = item.attr.role;
if _aff and not _rol then
- if affiliation == "owner" or (affiliation == "admin" and _aff ~= "owner" and _aff ~= "admin") then
+ if affiliation == "owner" or (affiliation == "admin" and _aff ~= "owner" and _aff ~= "admin")
+ or (affiliation and affiliation ~= "outcast" and self:get_members_only() and self:get_whois() == "anyone") then
local reply = st.reply(stanza):query("http://jabber.org/protocol/muc#admin");
for jid, affiliation in pairs(self._affiliations) do
if affiliation == _aff then