]> granicus.if.org Git - ejabberd/commitdiff
mod_mam: Make sure stanza IDs aren't reused
authorHolger Weiss <holger@zedat.fu-berlin.de>
Thu, 26 Jul 2018 22:14:48 +0000 (00:14 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Thu, 26 Jul 2018 22:14:48 +0000 (00:14 +0200)
Strip the stanza ID from the metadata of outgoing messages to make sure
it's not reused for the (local) recipient's MAM archive.

src/mod_mam.erl

index a643fe51cb32dad72a173fca25e911d9411c3e1e..7c5d3af61667d22656241a14a65eff251b6af41c 100644 (file)
@@ -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.