Mercurial > prosody-modules
comparison mod_muc_rtbl/mod_muc_rtbl.lua @ 4810:181738ae4117
mod_muc_rtbl: Skip check if user has any explicit affiliation with the MUC
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 06 Dec 2021 12:24:07 +0000 |
parents | 9e9ec0f0b128 |
children | a1fe59c06c48 |
comparison
equal
deleted
inserted
replaced
4809:9e9ec0f0b128 | 4810:181738ae4117 |
---|---|
91 | 91 |
92 module:hook("iq-result/host/rtbl-request", update_list); | 92 module:hook("iq-result/host/rtbl-request", update_list); |
93 | 93 |
94 module:hook("muc-occupant-pre-join", function (event) | 94 module:hook("muc-occupant-pre-join", function (event) |
95 local from_bare = jid.bare(event.stanza.attr.from); | 95 local from_bare = jid.bare(event.stanza.attr.from); |
96 | |
97 local affiliation = event.room:get_affiliation(from_bare); | |
98 if affiliation and affilition ~= "none" then | |
99 -- Skip check for affiliated users | |
100 return; | |
101 end | |
102 | |
96 local hash = sha256(jid.bare(event.stanza.attr.from), true); | 103 local hash = sha256(jid.bare(event.stanza.attr.from), true); |
97 if banned_hashes[hash] then | 104 if banned_hashes[hash] then |
98 module:log("info", "Blocked user <%s> from room <%s> due to RTBL match", from_bare, event.stanza.attr.to); | 105 module:log("info", "Blocked user <%s> from room <%s> due to RTBL match", from_bare, event.stanza.attr.to); |
99 local error_reply = st.error_reply(event.stanza, "cancel", "forbidden", "You are banned from this service", event.room.jid); | 106 local error_reply = st.error_reply(event.stanza, "cancel", "forbidden", "You are banned from this service", event.room.jid); |
100 event.origin.send(error_reply); | 107 event.origin.send(error_reply); |