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 | |
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.
-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 |