aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2024-11-10 15:10:26 +0100
committerKim Alvefur <zash@zash.se>2024-11-10 15:10:26 +0100
commite0977138831d70bd695ca2f69a98ca34fdfad3b7 (patch)
tree0f6d4da92969d8bdbaf960f0c847985db830f8c3
parentb126efdd1c4a1c9836d309c469ace3174d7ca5c5 (diff)
downloadprosody-e0977138831d70bd695ca2f69a98ca34fdfad3b7.tar.gz
prosody-e0977138831d70bd695ca2f69a98ca34fdfad3b7.zip
mod_s2s: Clone queued outgoing stanzas to prevent changes
This clone call was lost in 902d25cd0557 Affects e.g. presence broadcasts, where the same stanza is sent many times while mutating the 'to' attribute.
-rw-r--r--plugins/mod_s2s.lua2
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins/mod_s2s.lua b/plugins/mod_s2s.lua
index 6177608b..8a402406 100644
--- a/plugins/mod_s2s.lua
+++ b/plugins/mod_s2s.lua
@@ -227,7 +227,7 @@ function route_to_new_session(event)
-- Store in buffer
host_session.bounce_sendq = bounce_sendq;
host_session.sendq = queue.new(sendq_size);
- host_session.sendq:push(stanza);
+ host_session.sendq:push(st.clone(stanza));
log("debug", "stanza [%s] queued until connection complete", stanza.name);
-- FIXME Cleaner solution to passing extra data from resolvers to net.server
-- This mt-clone allows resolvers to add extra data, currently used for DANE TLSA records