summaryrefslogtreecommitdiff
path: root/src/mod_mam.erl
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2018-07-27 00:14:48 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2018-07-27 00:14:48 +0200
commitcdfd0cce7bf425b8436fc171c8a8d80a1a08f017 (patch)
treef1e6325ddd71ef97ed6911dff818154f97d3a492 /src/mod_mam.erl
parentejabberd_auth: Restore lost case clause (diff)
mod_mam: Make sure stanza IDs aren't reused
Strip the stanza ID from the metadata of outgoing messages to make sure it's not reused for the (local) recipient's MAM archive.
Diffstat (limited to 'src/mod_mam.erl')
-rw-r--r--src/mod_mam.erl4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mod_mam.erl b/src/mod_mam.erl
index a643fe51..7c5d3af6 100644
--- a/src/mod_mam.erl
+++ b/src/mod_mam.erl
@@ -369,7 +369,9 @@ user_send_packet(Acc) ->
-> {stanza(), c2s_state()}.
user_send_packet_strip_tag({#message{} = Pkt, #{jid := JID} = C2SState}) ->
LServer = JID#jid.lserver,
- {strip_my_stanza_id(Pkt, LServer), C2SState};
+ Pkt1 = xmpp:del_meta(Pkt, stanza_id),
+ Pkt2 = strip_my_stanza_id(Pkt1, LServer),
+ {Pkt2, C2SState};
user_send_packet_strip_tag(Acc) ->
Acc.