[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,16 +225,17 @@ 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: raise NodeProcessed
plaintext = self._muc_temp_store[properties.omemo.payload]
fingerprint = self.backend.own_fingerprint if properties.omemo.payload not in self._muc_temp_store:
del self._muc_temp_store[properties.omemo.payload]
else:
self._log.warning("Can't decrypt own GroupChat Message") self._log.warning("Can't decrypt own GroupChat Message")
return return
else:
raise NodeProcessed 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