aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-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),