diff options
author | Kim Alvefur <zash@zash.se> | 2021-07-25 14:01:45 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2021-07-25 14:01:45 +0200 |
commit | 4dc5192c99ce2739952ab77b386f76b987f52dc2 (patch) | |
tree | 7585ef63b6fc37fb0109518a4957c97b35cf3492 /plugins | |
parent | e1a84801f61dee7404518c116d7fe36f1f23aec7 (diff) | |
download | prosody-4dc5192c99ce2739952ab77b386f76b987f52dc2.tar.gz prosody-4dc5192c99ce2739952ab77b386f76b987f52dc2.zip |
mod_pubsub: Normalize 'publisher' JID
All the XEP-0060 examples have the publisher attribute set to a bare
JID, but the text does allow it to be the full JID.
Since mod_pubsub is more likely used for open nodes that anyone can
subscribe to it makes sense to not leak the full JIDs. This is also
disabled by defaults.
In mod_pep on the other hand it might make sense to have the full JID
since that data is more likely to be broadcast to contacts which are
already somewhat trusted.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_pubsub/mod_pubsub.lua | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/mod_pubsub/mod_pubsub.lua b/plugins/mod_pubsub/mod_pubsub.lua index 6866312c..dfe60f73 100644 --- a/plugins/mod_pubsub/mod_pubsub.lua +++ b/plugins/mod_pubsub/mod_pubsub.lua @@ -57,7 +57,7 @@ local function create_simple_itemstore(node_config, node_name) --> util.cache li return lib_pubsub.archive_itemstore(archive, max_items, nil, node_name); end -function simple_broadcast(kind, node, jids, item, actor, node_obj) +function simple_broadcast(kind, node, jids, item, actor, node_obj, service) if node_obj then if node_obj.config["notify_"..kind] == false then return; @@ -75,7 +75,7 @@ function simple_broadcast(kind, node, jids, item, actor, node_obj) item:maptags(function () return nil; end); end if expose_publisher and actor then - item.attr.publisher = actor + item.attr.publisher = service.config.normalize_jid(actor); end end end |