diff options
author | Jonas Wielicki <jonas@wielicki.name> | 2018-05-17 17:11:25 +0200 |
---|---|---|
committer | Jonas Wielicki <jonas@wielicki.name> | 2018-05-17 17:11:25 +0200 |
commit | 10dac8879e9bca40115babe114c79b6adc408268 (patch) | |
tree | ca5418c5d69241630726156916d6e9d0140ab952 /plugins/muc | |
parent | c1f51c6f13aabc3bc31ec9ab9214bac907d7f3dd (diff) | |
download | prosody-10dac8879e9bca40115babe114c79b6adc408268.tar.gz prosody-10dac8879e9bca40115babe114c79b6adc408268.zip |
MUC: reject non-bare JIDs in set_affiliation requests with not-acceptable
Diffstat (limited to 'plugins/muc')
-rw-r--r-- | plugins/muc/muc.lib.lua | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index 870bd53c..12ecdbda 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -1076,6 +1076,9 @@ function room_mt:can_set_affiliations(actor, jid_affiliation) for jid, value in pairs(jid_affiliation) do local affiliation = value["affiliation"]; + if jid ~= jid_bare(jid) then + return false, "modify", "not-acceptable"; + end jid = jid_bare(jid); if affiliation == "none" then affiliation = nil; end if affiliation and affiliation ~= "outcast" and affiliation ~= "owner" and affiliation ~= "admin" and affiliation ~= "member" then |