aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2018-07-27 00:27:10 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2018-07-27 00:27:10 +0200
commit83e24628538cb29586686ee88a26d431885105eb (patch)
tree99af0e19bf1e7bb44016590218e41f6a5540be8f
parentmod_mam: Make sure stanza IDs aren't reused (diff)
mod_mam: Don't strip offline message stanza IDs
As mod_offline currently doesn't preserve metadata, add an explicit check for messages retrieved from offline storage to avoid stripping their stanza IDs. Thanks to Zuglufttier for spotting this.
-rw-r--r--src/mod_mam.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mod_mam.erl b/src/mod_mam.erl
index 7c5d3af61..2a43322c8 100644
--- a/src/mod_mam.erl
+++ b/src/mod_mam.erl
@@ -419,6 +419,8 @@ get_stanza_id(#message{meta = #{stanza_id := ID}}) ->
-spec init_stanza_id(stanza(), binary()) -> stanza().
init_stanza_id(#message{meta = #{stanza_id := _ID}} = Pkt, _LServer) ->
Pkt;
+init_stanza_id(#message{meta = #{from_offline := true}} = Pkt, _LServer) ->
+ Pkt;
init_stanza_id(Pkt, LServer) ->
ID = p1_time_compat:system_time(micro_seconds),
Pkt1 = strip_my_stanza_id(Pkt, LServer),