Commit 89dbc5a8 authored by Philipp Hörist's avatar Philipp Hörist

[omemo] Allow MUC conversations without other participants

Fixes #267
parent af45dd3b
......@@ -281,10 +281,6 @@ class OmemoState:
devices_list = self.device_list_for(jid, True)
if len(devices_list) == 0:
log.error('No known devices')
return
payload, tag = encrypt(key, iv, plaintext)
key += tag
......@@ -315,10 +311,6 @@ class OmemoState:
log.warning('Failed to find key for device ' +
str(rid))
encrypted_jids.append(jid_to)
if len(encrypted_keys) == 0:
log_msg = 'Encrypted keys empty'
log.error(log_msg)
raise NoValidSessions(log_msg)
my_other_devices = set(self.own_devices) - set({self.own_device_id})
# Encrypt the message key with for each of our own devices
......@@ -336,6 +328,10 @@ class OmemoState:
log.exception('ERROR:')
log.warning('Failed to find key for device ' + str(dev))
if not encrypted_keys:
log.error('Encrypted keys empty')
raise NoValidSessions('Encrypted keys empty')
result = {'sid': self.own_device_id,
'keys': encrypted_keys,
'jid': jid,
......
......@@ -236,11 +236,8 @@ class OmemoPlugin(GajimPlugin):
if isinstance(chat_control, GroupchatControl):
room = chat_control.room_jid
missing = True
own_jid = app.get_jid_from_account(account)
for nick in con.groupchat[room]:
real_jid = con.groupchat[room][nick]
if real_jid == own_jid:
continue
if not con.are_keys_missing(real_jid):
missing = False
if missing:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment