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