[omemo] Fix group chat

Fixes #412
This commit is contained in:
Philipp Hörist
2019-03-31 20:10:23 +02:00
parent 482ff2e7c0
commit 8bff45ff49

View File

@@ -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