aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/parser/MessageParser.java
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/parser/MessageParser.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/parser/MessageParser.java b/src/main/java/de/pixart/messenger/parser/MessageParser.java
index cd747b2d1..3d9b5d881 100644
--- a/src/main/java/de/pixart/messenger/parser/MessageParser.java
+++ b/src/main/java/de/pixart/messenger/parser/MessageParser.java
@@ -218,8 +218,13 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
plaintextMessage = service.processReceivingPayloadMessage(xmppAxolotlMessage, postpone);
} catch (BrokenSessionException e) {
if (checkedForDuplicates) {
- service.reportBrokenSessionException(e, postpone);
- return new Message(conversation, "", Message.ENCRYPTION_AXOLOTL_FAILED, status);
+ if (service.trustedOrPreviouslyResponded(from.asBareJid())) {
+ service.reportBrokenSessionException(e, postpone);
+ return new Message(conversation, "", Message.ENCRYPTION_AXOLOTL_FAILED, status);
+ } else {
+ Log.d(Config.LOGTAG, "ignoring broken session exception because contact was not trusted");
+ return new Message(conversation, "", Message.ENCRYPTION_AXOLOTL_FAILED, status);
+ }
} else {
Log.d(Config.LOGTAG, "ignoring broken session exception because checkForDuplicates failed");
//TODO should be still emit a failed message?