From 23dbdae2aafb4722367446dd700e972d9f499125 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 1 May 2019 22:33:22 +0200 Subject: mod_pubsub: Fix inclusion of publisher (fixes #1399) --- plugins/mod_pubsub/pubsub.lib.lua | 7 +++++-- spec/scansion/pep_nickname.scs | 12 ++++++------ spec/scansion/pep_publish_subscribe.scs | 6 +++--- spec/scansion/pubsub_advanced.scs | 2 +- spec/scansion/pubsub_basic.scs | 2 +- spec/scansion/pubsub_multi_items.scs | 8 ++++---- 6 files changed, 20 insertions(+), 17 deletions(-) diff --git a/plugins/mod_pubsub/pubsub.lib.lua b/plugins/mod_pubsub/pubsub.lib.lua index e7fa715d..6214882f 100644 --- a/plugins/mod_pubsub/pubsub.lib.lua +++ b/plugins/mod_pubsub/pubsub.lib.lua @@ -607,6 +607,9 @@ function handlers.set_publish(origin, stanza, publish, service) item.attr.id = id; end end + if item then + item.attr.publisher = service.config.normalize_jid(stanza.attr.from); + end local ok, ret = service:publish(node, stanza.attr.from, id, item, required_config); local reply; if ok then @@ -795,8 +798,8 @@ function handlers.owner_set_affiliations(origin, stanza, affiliations, service) return true; end -local function create_encapsulating_item(id, payload) - local item = st.stanza("item", { id = id, xmlns = xmlns_pubsub }); +local function create_encapsulating_item(id, payload, publisher) + local item = st.stanza("item", { id = id, publisher = publisher, xmlns = xmlns_pubsub }); item:add_child(payload); return item; end diff --git a/spec/scansion/pep_nickname.scs b/spec/scansion/pep_nickname.scs index f958ec75..aaf53c87 100644 --- a/spec/scansion/pep_nickname.scs +++ b/spec/scansion/pep_nickname.scs @@ -1,7 +1,7 @@ # Publishing a nickname in PEP and receiving a notification [Client] Romeo - jid: romeo@localhost/nJi7BeTR + jid: romeo@localhost password: password ----- @@ -20,7 +20,7 @@ Romeo sends: Romeo receives: - + @@ -34,12 +34,12 @@ Romeo sends: Romeo receives: - + Romeo receives: - + @@ -55,10 +55,10 @@ Romeo sends: Romeo receives: - + - + diff --git a/spec/scansion/pep_publish_subscribe.scs b/spec/scansion/pep_publish_subscribe.scs index e8080134..6d33ffeb 100644 --- a/spec/scansion/pep_publish_subscribe.scs +++ b/spec/scansion/pep_publish_subscribe.scs @@ -182,7 +182,7 @@ Juliet sends: Juliet sends: - Beautiful CedarsThe SpinnersNot Quite Folk4 + Beautiful CedarsThe SpinnersNot Quite Folk4 Juliet receives: @@ -197,13 +197,13 @@ Juliet sends: Romeo receives: - Beautiful CedarsThe SpinnersNot Quite Folk4 + Beautiful CedarsThe SpinnersNot Quite Folk4 Romeo sends: Romeo receives: - Beautiful CedarsThe SpinnersNot Quite Folk4 + Beautiful CedarsThe SpinnersNot Quite Folk4 Juliet disconnects diff --git a/spec/scansion/pubsub_advanced.scs b/spec/scansion/pubsub_advanced.scs index 86410677..74ca5309 100644 --- a/spec/scansion/pubsub_advanced.scs +++ b/spec/scansion/pubsub_advanced.scs @@ -129,7 +129,7 @@ Juliet receives: - + Soliloquy Lorem ipsum dolor sit amet diff --git a/spec/scansion/pubsub_basic.scs b/spec/scansion/pubsub_basic.scs index 0adf6857..610a6612 100644 --- a/spec/scansion/pubsub_basic.scs +++ b/spec/scansion/pubsub_basic.scs @@ -67,7 +67,7 @@ Juliet receives: - + Soliloquy Lorem ipsum dolor sit amet diff --git a/spec/scansion/pubsub_multi_items.scs b/spec/scansion/pubsub_multi_items.scs index d76bc46c..247731f1 100644 --- a/spec/scansion/pubsub_multi_items.scs +++ b/spec/scansion/pubsub_multi_items.scs @@ -159,10 +159,10 @@ Alice receives: - + foo - + bar @@ -180,10 +180,10 @@ Alice receives: - + foo - + bar -- cgit v1.2.3