omemo / gajim-omemo

Gajim plugin for OMEMO Multi-End Message and Object Encryption
87 stars 7 forks source link

I don't see option to send encrypted message #145

Closed beherit closed 7 years ago

beherit commented 7 years ago

General information

Steps to reproduce

  1. I try to start encrypted conversation with contact X but I don't see any options to do that.
  2. On Android app Conversations everything works perfect with this same contact.

Debug output

In debug I see information:

17.11.2016 16:13:06 (W) gajim.plugin_system.omemo: beherit.pl => No devices for user@domain.tld

In XML console I see only this when I open chat window:

<!-- Out 17.11.2016 16:18:16 -->
<message xmlns="jabber:client" to="user@domain.tld/tablet" type="chat" id="188">
<active xmlns="http://jabber.org/protocol/chatstates" />
<thread>MsYZmdqjzwXpiLTGSVFjkrSvakCVRHVa</thread>
</message>

It's strange because on Conversations omemo works with this contact. OMEMO in Gajim works only with contacts where I have already saved fingerprints.

lovetox commented 7 years ago

that means the contact doesnt have a devicelist on the server published. if there is no devicelist the plugin thinks that this contact doesnt support omemo and shows no UI.

what you can try is a relogin on your account when the other contact is online at the same time.

if you still dont see the omemo icon after that, chances are high he has no devices published, or his server has a problem.

you can take all informations from the log, if you relogin on your account and you would receive a devicelist from him, that would also show in the log.

conversations working is no indication if everything is ok, because to make a encrypted session the server has only to work once for a minute to send the device list, after that the server is not needed anymore.

also check if you are correctly subscribed to him, you can check this in conversations in the contact details, both checkmarks have to be ticked

beherit commented 7 years ago

@lovetox but OMEMO with this contact works on Conversations, this contact have devicelist (I see it on Conversations). This problem is not related only with one contact on one server - I have this problem with other contacts on my rooster, only on Gajim.

lovetox commented 7 years ago

you cant see the device list in conversations. as i said above, conversations working is not an indication, because the server is only needed once. if it goes bad afterwards you will never know it.

are all these contacts on the same server maybe?

could you post more then one line from the log? do you receive devicelists from other contacts, this should be in the log. can you tell me the server so i can make a test account?

beherit commented 7 years ago

No, contacts are from other servers or from my own server. In logs there is nothing else, I don't see reciving devicelists. My server is jix.im, contact server is aviciipl.net.

lovetox commented 7 years ago

aviciipl.net server works fine.

start gajim with -l gajim.plugin_system.omemo=DEBUG and login to your account wait one minute, and post the log.

i cant solve the problem with the only information that it doesnt work

beherit commented 7 years ago
Logger gajim.plugin-system.omemo level set to 10
17.11.2016 19:34:35 (W) gajim.plugin_system.omemo: beherit.pl => No devices for admin@aviciipl.net
17.11.2016 19:34:44 (W) gajim.plugin_system.omemo: beherit.pl => Device list update list node empty!
17.11.2016 19:34:44 (E) gajim.plugin_system.omemo: beherit.pl => Received empty or invalid Devicelist from: admin@aviciipl.net
17.11.2016 19:34:49 (E) gajim.c.ged: Error while running an even handler: <bound method OmemoPlugin.mam_message_received of <omemo.OmemoPlugin object at 0x0A3F5510>>
17.11.2016 19:34:49 (E) gajim.c.ged: Error while running an even handler: <bound method OmemoPlugin.mam_message_received of <omemo.OmemoPlugin object at 0x0A3F5510>>
17.11.2016 19:38:22 (W) gajim.plugin_system.omemo: beherit.pl => Device list update list node empty!
17.11.2016 19:38:22 (E) gajim.plugin_system.omemo: beherit.pl => Received empty or invalid Devicelist from: admin@aviciipl.net
17.11.2016 19:39:22 (W) gajim.plugin_system.omemo: beherit.pl => No devices for admin@aviciipl.net
lovetox commented 7 years ago

tell your contact to find the "clear device" button in conversations and hit it. his devicelist is invalid, that will reset it back to normal

lovetox commented 7 years ago

also it would be interesting how the invalid device list looks like,

logoff from your account, open the xml console, login, wait a minute, copy everything from the window to some text file, and search for "devicelist", look for a stanza that is sent from the jid of your contact

beherit commented 7 years ago

Oh I think this contact in fact should clear his devices list:

<message from='admin@aviciipl.net' to='im@beherit.pl/Gajim' type='headline'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='eu.siacs.conversations.axolotl.devicelist'>
<item id='0'>
<activity xmlns='http://jabber.org/protocol/activity'/>
</item>
</items>
</event>
<delay xmlns='urn:xmpp:delay' from='lovetox@aviciipl.net/Gajim' stamp='2016-11-17T18:27:01Z'/>
</message>

This list is empty :)

lovetox commented 7 years ago

its not only empty, its just plain wrong <activity xmlns='http://jabber.org/protocol/activity'/>

this should not be in the stanza at all,

and what does my jid i created 5 minutes ago in your stanza?

i see this behavior now the second time, i think there is a server bug.

lovetox commented 7 years ago

either way, clearing the device list should solve this instantly

beherit commented 7 years ago

Clearing doesen't solve issue - I reciving OMEMO messsages on Gajim but I don't have devices list from this contact (on Conversation everything works).

lovetox commented 7 years ago

so look again what device list you are getting now, if its still invalid

does your contact use gajim?

beherit commented 7 years ago

In XML I see this same things as before - maybe it's problem with aviciipl.net server.

lovetox commented 7 years ago

then i dont think he has cleared his devicelist, its very unlikely that after clearing the devicelist you see the same thing. but yeah if this doesnt go away he maybe should search for help in the ejabbered issue tracker