Mercurial > prosody-modules
comparison mod_mam_muc/mod_mam_muc.lua @ 1312:a48cf3ccdf9c
mod_mam_muc: Use public API of rooms for authorization check
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 20 Feb 2014 20:16:15 +0100 |
parents | 27b2a357c73c |
children | 440d7276ca62 |
comparison
equal
deleted
inserted
replaced
1311:27b2a357c73c | 1312:a48cf3ccdf9c |
---|---|
92 return origin.send(st.error_reply(stanza, "cancel", "item-not-found")) | 92 return origin.send(st.error_reply(stanza, "cancel", "item-not-found")) |
93 end | 93 end |
94 local from = jid_bare(stanza.attr.from); | 94 local from = jid_bare(stanza.attr.from); |
95 | 95 |
96 -- Banned or not a member of a members-only room? | 96 -- Banned or not a member of a members-only room? |
97 if room_obj._affiliations[from] == "outcast" | 97 local from_affiliation = room_obj:get_affiliation(from); |
98 or room_obj._data.members_only and not room_obj._affiliations[from] then | 98 if from_affiliation == "outcast" -- banned |
99 or room_obj:get_members_only() and not from_affiliation then -- members-only, not a member | |
99 return origin.send(st.error_reply(stanza, "auth", "forbidden")) | 100 return origin.send(st.error_reply(stanza, "auth", "forbidden")) |
100 end | 101 end |
101 | 102 |
102 local qid = query.attr.queryid; | 103 local qid = query.attr.queryid; |
103 | 104 |