From f6dcf5996815a4b93eebb305d85390187cea2bc7 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 19 Feb 2017 23:39:53 +0100 Subject: mod_mam: Strip stanza-id tags after carbons --- plugins/mod_mam/mod_mam.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'plugins/mod_mam') diff --git a/plugins/mod_mam/mod_mam.lua b/plugins/mod_mam/mod_mam.lua index d7505f13..30e416ff 100644 --- a/plugins/mod_mam/mod_mam.lua +++ b/plugins/mod_mam/mod_mam.lua @@ -307,6 +307,19 @@ local function c2s_message_handler(event) return message_handler(event, true); end + +local function strip_stanza_id(event) + local strip_by = jid_bare(event.origin.full_jid); + event.stanza:maptags(function(tag) + if not ( tag.attr.xmlns == xmlns_st_id and tag.attr.by == strip_by ) then + return tag; + end + end); +end + +module:hook("pre-message/bare", strip_stanza_id, -1); +module:hook("pre-message/full", strip_stanza_id, -1); + local cleanup_after = module:get_option_string("archive_expires_after", "1w"); local cleanup_interval = module:get_option_number("archive_cleanup_interval", 4 * 60 * 60); if cleanup_after ~= "never" then -- cgit v1.2.3