]> granicus.if.org Git - ejabberd/commitdiff
mod_mam: Don't replace existing stanza ID
authorHolger Weiss <holger@zedat.fu-berlin.de>
Fri, 15 Jun 2018 22:43:22 +0000 (00:43 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Fri, 15 Jun 2018 22:43:22 +0000 (00:43 +0200)
Preserve the original stanza ID for resent messages.  This avoids
storing duplicates in the MAM archive.

src/mod_mam.erl

index d971983ab635519a95460d714c76c23189506a6f..9595be99f553e75dcc7feea29108cb7db3a43b38 100644 (file)
@@ -404,6 +404,8 @@ get_stanza_id(#message{meta = #{stanza_id := ID}}) ->
     ID.
 
 -spec init_stanza_id(stanza(), binary()) -> stanza().
+init_stanza_id(#message{meta = #{stanza_id := _ID}} = Pkt, _LServer) ->
+    Pkt;
 init_stanza_id(Pkt, LServer) ->
     ID = p1_time_compat:system_time(micro_seconds),
     Pkt1 = strip_my_stanza_id(Pkt, LServer),