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 | ede20ddd6fa769d8ffb811d4170e47ad3fb50cdd (patch) | |
tree | ca5418c5d69241630726156916d6e9d0140ab952 | |
parent | 82af625eaa8f4af06c81a3bd0eccf317be4f505f (diff) | |
download | prosody-ede20ddd6fa769d8ffb811d4170e47ad3fb50cdd.tar.gz prosody-ede20ddd6fa769d8ffb811d4170e47ad3fb50cdd.zip |
MUC: reject non-bare JIDs in set_affiliation requests with not-acceptable
-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 |