From d4af2b7dadcedfb40c7b502b6a8383ca54cc23ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=B6rist?= Date: Sun, 24 Feb 2019 23:05:54 +0100 Subject: [PATCH] [omemo] Fix encryption messages to self --- omemo/backend/devices.py | 5 ++--- omemo/backend/state.py | 4 +++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/omemo/backend/devices.py b/omemo/backend/devices.py index a8e60d0..e2bcb35 100644 --- a/omemo/backend/devices.py +++ b/omemo/backend/devices.py @@ -93,7 +93,7 @@ class DeviceManager: raise NoDevicesFound devices_for_encryption += self._get_own_devices_for_encryption() - return devices_for_encryption + return set(devices_for_encryption) def _get_devices_for_muc_encryption(self, jid): devices_for_encryption = [] @@ -103,8 +103,7 @@ class DeviceManager: def _get_own_devices_for_encryption(self): devices_for_encryption = [] - own_devices = self.get_devices(self._own_jid) - own_devices.discard(self.own_device) + own_devices = self.get_devices(self._own_jid, without_self=True) for device in own_devices: if self._storage.isTrusted(self._own_jid, device): devices_for_encryption.append((self._own_jid, device)) diff --git a/omemo/backend/state.py b/omemo/backend/state.py index a881785..a7a0eae 100644 --- a/omemo/backend/state.py +++ b/omemo/backend/state.py @@ -189,7 +189,9 @@ class OmemoState(DeviceManager): log.exception('Failed to encrypt') continue - recipients = set(whisper_messages.keys()) - set([self._own_jid]) + recipients = set(whisper_messages.keys()) + if jid != self._own_jid: + recipients -= set([self._own_jid]) if not recipients: log.error('Encrypted keys empty') return