From 8bff45ff49a74c70d736c45978bef728f8fddf61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=B6rist?= Date: Sun, 31 Mar 2019 20:10:23 +0200 Subject: [PATCH] [omemo] Fix group chat Fixes #412 --- omemo/modules/omemo.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/omemo/modules/omemo.py b/omemo/modules/omemo.py index ab77353..4d7d339 100644 --- a/omemo/modules/omemo.py +++ b/omemo/modules/omemo.py @@ -47,6 +47,7 @@ from omemo.backend.state import SelfMessage from omemo.backend.state import MessageNotForDevice from omemo.backend.state import DecryptionFailed from omemo.backend.state import DuplicateMessage +from omemo.backend.util import Trust from omemo.modules.util import prepare_stanza @@ -224,17 +225,18 @@ class OMEMO(BaseModule): raise NodeProcessed except SelfMessage: - if properties.from_muc: - if properties.omemo.payload in self._muc_temp_store: - plaintext = self._muc_temp_store[properties.omemo.payload] - fingerprint = self.backend.own_fingerprint - del self._muc_temp_store[properties.omemo.payload] - else: - self._log.warning("Can't decrypt own GroupChat Message") - return - else: + if not properties.from_muc: raise NodeProcessed + if properties.omemo.payload not in self._muc_temp_store: + self._log.warning("Can't decrypt own GroupChat Message") + return + + plaintext = self._muc_temp_store[properties.omemo.payload] + fingerprint = self.backend.own_fingerprint + trust = Trust.VERIFIED + del self._muc_temp_store[properties.omemo.payload] + except (DecryptionFailed, MessageNotForDevice): return