tigase / siskin-im

(M) Public Project of Tigase Messenger for iOS devices based on Tigase Swift XMPP library.
GNU General Public License v3.0
175 stars 37 forks source link

Siskin fails to discover OMEMO keys from Beagle and vice versa #5

Open 07151129 opened 4 years ago

07151129 commented 4 years ago

Describe the bug

I am trying to use ChatSecure, Pidgin with Lurch, Siskin and Beagle for OMEMO-encrypted conversations. For some reason, Siskin and Beagle appear to behave in an incompatible way when synchronising OMEMO keys:

I am not sure if this bug report should be duplicated in Beagle issue tracker as well.

Desktop (please complete the following information):

Smartphone (please complete the following information):

woj-tek commented 4 years ago

@07151129 accounts on which servers/services do you use?

07151129 commented 4 years ago

I tried exclusively jabber.at.

hantu85 commented 4 years ago

It is hard to debug the issue or replicate it as jabber.at is not open for registration so we cannot check what is going on and if the issue is on the client's side or on the servers side. At the web page of jabber.at, there is mentioned that this server uses ejabberd 17.01 (so version from 2017) and the issue can be caused by the way how this version handled PEP.

I was also able to find out that there was an issue raised for ejabberd 18.04-1 (newer version) related to OMEMO https://github.com/processone/ejabberd/issues/2425

I'm not saying, that there is no issue on the client-side, but it is not possible for us to replicate the issue on the mentioned server, so we cannot find the cause of the issue and fix it.

07151129 commented 4 years ago

It looks like I can reproduce the issue on jabber.ccc.de as well (an account can only be created using XMPP in-band registration).

Is there any kind of XML stanzas I could collect for debugging?

hantu85 commented 4 years ago

I'm assuming that you are using all of the mentioned clients on the new account at jabber.ccc.de. If not please let us know which one you have used for testing.

Also, could you post versions of ChatSecure (version? is it mobile or desktop?) and version of Lurch? I'll try to replicate this setup as OMEMO if very difficult to diagnose.

The most important XML stanzas which we are interested in are those related to the exchange with eu.siacs.conversations.axolotl.devicelist PEP node.

We have tested compatibility with ChatSecure and Conversations and in both cases, it worked well.

foss- commented 4 years ago

Seeing the same problem w account from disroot. If Tigase wants to test this, request a new disroot user here: https://user.disroot.org/pwm/public/newuser

Omemo can be used, but my own messages do not decrypt on beagle when sent from beagle and vice versa. Reproducible when communicating with other disroot users.

macOS 10.15.4 Beagle 4.0 (86)

iOS 13.4 Siskin 5.8.1

EDIT: This is waiting for https://github.com/tigase/siskin-im/issues/22

hantu85 commented 4 years ago

Thank you for reporting that issue on the disroot server. However, at this point, I'm not sure if we should investigate this issue as recent changes in the OMEMO (which will be a most likely part of Conversations and other clients soon) are AFAIK backward-incompatible and so current OMEMO implementation will not be useful anymore.