diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2018-07-27 00:14:48 +0200 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2018-07-27 00:14:48 +0200 |
commit | cdfd0cce7bf425b8436fc171c8a8d80a1a08f017 (patch) | |
tree | f1e6325ddd71ef97ed6911dff818154f97d3a492 | |
parent | ejabberd_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.
-rw-r--r-- | src/mod_mam.erl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mod_mam.erl b/src/mod_mam.erl index a643fe51c..7c5d3af61 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. |