[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 MessageNotForDevice
from omemo.backend.state import DecryptionFailed from omemo.backend.state import DecryptionFailed
from omemo.backend.state import DuplicateMessage from omemo.backend.state import DuplicateMessage
from omemo.backend.util import Trust
from omemo.modules.util import prepare_stanza from omemo.modules.util import prepare_stanza
@@ -224,17 +225,18 @@ class OMEMO(BaseModule):
raise NodeProcessed raise NodeProcessed
except SelfMessage: except SelfMessage:
if properties.from_muc: if not 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:
raise NodeProcessed 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): except (DecryptionFailed, MessageNotForDevice):
return return