diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2018-07-27 00:27:10 +0200 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2018-07-27 00:27:10 +0200 |
commit | 83e24628538cb29586686ee88a26d431885105eb (patch) | |
tree | 99af0e19bf1e7bb44016590218e41f6a5540be8f | |
parent | mod_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.erl | 2 |
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), |