[omemo] IndexError: bytearray index out of range
- Gajim: 2fc96ae6374
- python-nbxmpp: 30876f0e6
- OMEMO: 2.6.44 (ee21ca8a)
After pressing "send", I've lost the message text.
02/19/2019 19:19:36 (I) nbxmpp.transports_nb: Plugging fd 35, W:True, R:True
02/19/2019 19:19:36 (I) nbxmpp.transports_nb: pollout called, state == CONNECTED
02/19/2019 19:19:36 (W) nbxmpp.transports_nb: calling send on empty buffer and queue
02/19/2019 19:19:36 (I) nbxmpp.transports_nb: Plugging fd 35, W:False, R:True
02/19/2019 19:19:46 (I) gajim.plugin_system.omemo: MYSERVER => Missing device sessions for MYJID@MYSERVER: [1111111111, 2222222222]
02/19/2019 19:19:46 (I) gajim.plugin_system.omemo: MYSERVER => Fetch device bundle 1111111111 MYJID@MYSERVER
02/19/2019 19:19:46 (I) nbxmpp.transports_nb: Plugging fd 35, W:True, R:True
02/19/2019 19:19:46 (D) nbxmpp.smacks: OUT, iq
02/19/2019 19:19:46 (D) nbxmpp.smacks: Request ack
02/19/2019 19:19:46 (I) nbxmpp.transports_nb: Plugging fd 35, W:True, R:True
02/19/2019 19:19:46 (I) gajim.plugin_system.omemo: MYSERVER => Fetch device bundle 2222222222 MYJID@MYSERVER
02/19/2019 19:19:46 (I) nbxmpp.transports_nb: Plugging fd 35, W:True, R:True
02/19/2019 19:19:46 (D) nbxmpp.smacks: OUT, iq
02/19/2019 19:19:46 (D) nbxmpp.smacks: Request ack
02/19/2019 19:19:46 (I) nbxmpp.transports_nb: Plugging fd 35, W:True, R:True
02/19/2019 19:19:46 (D) gajim.plugin_system.omemo: MYSERVER => Sending Message to OTHERJID@OTHERSERVER
02/19/2019 19:19:47 (W) gajim.plugin_system: Error executing <bound method OmemoPlugin._encrypt_message of <omemo.plugin.OmemoPlugin object at 0x7ff7b616e0f0>>
Traceback (most recent call last):
File "/home/andrey/progs/gajim.git/gajim/plugins/pluginmanager.py", line 366, in _execute_all_handlers_of_gui_extension_point
handlers[0](*args)
File "/home/andrey/gajim-profiles/gtk3/plugins/omemo/plugin.py", line 211, in _encrypt_message
self.get_omemo(account).encrypt_message(conn, obj, callback, False)
File "/home/andrey/gajim-profiles/gtk3/plugins/omemo/modules/omemo.py", line 169, in encrypt_message
omemo_message = self.backend.encrypt(to_jid, event.message)
File "/home/andrey/gajim-profiles/gtk3/plugins/omemo/backend/state.py", line 166, in encrypt
devices_for_encryption = self.get_devices_for_encryption(jid)
File "/home/andrey/gajim-profiles/gtk3/plugins/omemo/backend/devices.py", line 80, in get_devices_for_encryption
devices_for_encryption += self._get_own_devices_for_encryption()
File "/home/andrey/gajim-profiles/gtk3/plugins/omemo/backend/devices.py", line 94, in _get_own_devices_for_encryption
if self._storage.isTrusted(self._own_jid, device):
File "/home/andrey/gajim-profiles/gtk3/plugins/omemo/backend/liteaxolotlstore.py", line 494, in isTrusted
identity_key = record.getSessionState().getRemoteIdentityKey()
File "/usr/lib/python3/dist-packages/axolotl/state/sessionstate.py", line 48, in getRemoteIdentityKey
return IdentityKey(self.sessionStructure.remoteIdentityPublic, 0)
File "/usr/lib/python3/dist-packages/axolotl/identitykey.py", line 11, in __init__
self.publicKey = Curve.decodePoint(bytearray(ecPubKeyOrBytes), offset)
File "/usr/lib/python3/dist-packages/axolotl/ecc/curve.py", line 34, in decodePoint
type = _bytes[0] # byte appears to be automatically converted to an integer??
IndexError: bytearray index out of range