diff options
author | Kim Alvefur <zash@zash.se> | 2018-05-22 01:32:44 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-05-22 01:32:44 +0200 |
commit | ee883aff478f701f9c6411ed5f9bc9df562acc6f (patch) | |
tree | 1690e39a441fd176f0621583f7f03eafb54e7d1e /util/pubsub.lua | |
parent | cc6d427f216a5ebe16c8c87d60b91d3b0de29949 (diff) | |
download | prosody-ee883aff478f701f9c6411ed5f9bc9df562acc6f.tar.gz prosody-ee883aff478f701f9c6411ed5f9bc9df562acc6f.zip |
util.pubsub: Also check for affiliation set on bare JID
This fixes eg publishing from a full JID when the affiliation has been
set on the bare JID, as would be common in XMPP.
Diffstat (limited to 'util/pubsub.lua')
-rw-r--r-- | util/pubsub.lua | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/util/pubsub.lua b/util/pubsub.lua index 7cf376ef..86dd8e14 100644 --- a/util/pubsub.lua +++ b/util/pubsub.lua @@ -75,7 +75,8 @@ function service:may(node, actor, action) if actor == true then return true; end local node_obj = self.nodes[node]; - local node_aff = node_obj and node_obj.affiliations[actor]; + local node_aff = node_obj and (node_obj.affiliations[actor] + or node_obj.affiliations[self.config.normalize_jid(actor)]); local service_aff = self.affiliations[actor] or self.config.get_affiliation(actor, node, action) or "none"; |