lurch icon indicating copy to clipboard operation
lurch copied to clipboard

Add fingerprint information to some menu

Open DDvO opened this issue 7 years ago • 9 comments

I followed the official instructions to copy the DLLs to the respective places (lurch-compat.dll to plugins, the other two in the main Pidgin folder).

The lurch plugin is now visible in the list of plugins and apparently is enabled, but I cannot configure it (button is greyed out) nor make any use of it: I see no reference to OMEMO anywhere within Pidgin, cannot manage key material, etc.

DDvO avatar Feb 17 '18 11:02 DDvO

BTW, the installation instructions for Windows in README.md are pretty imprecise.

  • They write "plugin .dll" but not about lurch.dll
  • They do not make clear that not both lurch.dll and lurch-compat.dll should be copied.
  • They give the wrong installation path: Program Files\Pidgin\, which should be Program Files (x86)\Pidgin\

DDvO avatar Feb 19 '18 07:02 DDvO

Hi,

but I cannot configure it (button is greyed out)

Currently, there is nothing to configure.

I see no reference to OMEMO anywhere within Pidgin

Are you expecting a button like in OTR? This should "just work" without the need to 'activate' it (I know, I know...), and automatically in use for other OMEMO users. This is indicated by the window title - maybe you did not see this if you are using a window manager that does not have titles. As stated in the README, you interact with the plugin using commands such as /luch help. The thing is, this is a libpurple plugin and not a Pidgin plugin, so I had some trouble offering any kind of user interface. If you have any suggestions on how to improve usage, I'd be glad to hear them.

They do not make clear that not both lurch.dll and lurch-compat.dll should be copied.

Because that is incorrect. Initially, all implementations used a different XML namespace than stated in the XEP, that's why there's a "compatible" plugin. By now, the XEP has been updated, and I'll ask the maintainer of the Windows download to clear it up with the next release. Usually, you'll just want to use the lurch-compat.dll.

They give the wrong installation path: Program Files\Pidgin, which should be Program Files (x86)\Pidgin\

Noted.

gkdr avatar Feb 25 '18 17:02 gkdr

I fixed the Windows path in 48149a8cc9efb2329aeceec23107b4b7a8d53afc. @EionRobb, since the namespace is compliant with version 0.2 of the OMEMO XEP, can you please remove the compat.dll and update the installation instructions the next time you compile a release? Thank you.

gkdr avatar Mar 07 '18 14:03 gkdr

@gkdr unbelievable that they are going with an invalid xml option :)

Happy to just keep the one dll for the next version

EionRobb avatar Mar 07 '18 18:03 EionRobb

@EionRobb Well, I just made all the pull requests and some other little tickets a patch release, that's why I'm asking :D

@DDvO Unless you have other specific questions or suggestions, I'll close the issue once the dll confusion is resolved. Key management will be dealt with in #62, better visibility in #66.

gkdr avatar Mar 07 '18 21:03 gkdr

I'm using the default Pidgin theme but the omemo doesn't appear to be working (at least, the title of a chat window never changes). I've confirmed that the other side has the same plugin installed. Both of use can do /lurch help and see the settings. We are both using version 2.12 of pidgin. Is there something more we can do? It'd be REALLY nice if something was to pop up to say the conversion was encrypted, perhaps like when you start an OTR session that says "OTR session is starting...". I know such thing as a session doesn't exist but just something that confirmed in the chat window that the encryption was working or not would be nice.

OmegaZero avatar Mar 16 '18 17:03 OmegaZero

@gkdr, thanks a lot for your replies and for updating the Windows instructions in the README.

I gather from the current README that for using OMEMO in Pidgin one can simply use lurch.dll (rather than lurch-compat.dll). I've just tried this, and the result looks quite the same, as it apparently should be.

but I cannot configure it (button is greyed out)

Currently, there is nothing to configure.

I see.

I see no reference to OMEMO anywhere within Pidgin

Are you expecting a button like in OTR? This should "just work" without the need to 'activate' it (I know, I know...), and automatically in use for other OMEMO users.

I expected to see references to key material or its fingerprints somewhere on the windows or in the menus, both for myself (assuming that they have been created automatically) and for my buddies.

This is indicated by the window title - maybe you did not see this if you are using a window manager that does not have titles.

Ah, you are right, the title of the conversation giving the buddy's address changes when the plugin is active: it is followed by '(OMEMO)'!

I then tried sending a message to a buddy where the '(OMEMO)' shows, but I got an error message:

(8:58:01 PM) The device ... owned by ...@... does not have a bundle and will be skipped. The owner should fix this, or remove the device from the list.

I do not understand what is meant with that 'bundle'. I know that he does use OMEMO, and it works when I send messages to him from my Conversations or Kandru app on Android. He uses Gajim 0.16.7 on Linux.

As stated in the README, you interact with the plugin using commands such as /lurch help. The thing is, this is a libpurple plugin and not a Pidgin plugin, so I had some trouble offering any kind of user interface. If you have any suggestions on how to improve usage, I'd be glad to hear them.

I just tried the /lurch help command in the conversation window, which worked. Now I understand that the info on keys I was after can be retrieved by those /lurch commands. I can live with that, tough of course it would be great if these were integrated with the Pidgin GUI. You should at least extend the usage section on the README to mention that one can list key fingerprints and device IDs using /lurch commands.

They do not make clear that not both lurch.dll and lurch-compat.dll should be copied.

Because that is incorrect. Initially, all implementations used a different XML namespace than stated in the XEP, that's why there's a "compatible" plugin. By now, the XEP has been updated, and I'll ask the maintainer of the Windows download to clear it up with the next release. Usually, you'll just want to use the lurch-compat.dll.

There is still confusion because the README tells me to use lurch.dll, which does not work fully (see the error message I mentioned above).

After switching back to lurch-compat.dll, the above error message is not given when sending a message, and it looks like it got sent correctly ;)

The only thing I now miss is a way to add the public keys of my other devices, such that I get copies of the conversation there, too. How to achieve that?

DDvO avatar Mar 16 '18 20:03 DDvO

Great to hear you've got so far. Seems we have a similar issue: https://github.com/gkdr/lurch/issues/83.

norpol avatar Mar 16 '18 21:03 norpol

@DDvO, glad I could clear some things up and you seem to have made it work.

I expected to see references to key material or its fingerprints somewhere on the windows or in the menus, both for myself (assuming that they have been created automatically) and for my buddies. ... I can live with [seeing the key fingerprint through commands], tough of course it would be great if these were integrated with the Pidgin GUI.

I think at least the own key fingerprint could be displayed in the options dialogue since it seems like a sensible first guess on where to look. I'll have to investigate if that could work for contacts' keys as well.

You should at least extend the usage section on the README to mention that one can list key fingerprints and device IDs using /lurch commands.

This is a good idea.

After switching back to lurch-compat.dll, the above error message is not given when sending a message, and it looks like it got sent correctly ;)

Sorry, I'm really not that great at writing docs it seems. I treat the README as an artifact that belongs with the release, so the information it contains refers to the version it came with. So I thought it's clear that for 0.6.5, the lurch-compat.dll still has to be used, but apparently it wasn't. (With 0.6.6, it simply doesn't exist anymore.) So yes, if you use the "compatible" dll and everything works for you, all is well.

The only thing I now miss is a way to add the public keys of my other devices, such that I get copies of the conversation there, too. How to achieve that?

In theory, this also works "automagically". In practice, the right XMPP extensions need to be supported by the client and server so that the messages actually arrive. This is a little bit of an issue on Pidgin, as the XMPP protocol implementation does not come with a lot of the popular extensions. For this reason I wrote another plugin that enables support for "carbon copies" of both sent and received messages, which you can find at https://github.com/gkdr/carbons . This only works for clients that are online at the same time though, so no "offline messages" yet, as that is yet another protocol extension called MAM.

Of course there is still the issue of trust when automatically building sessions with retrieved public keys, but I will deal with that when I deal with the trust management generally, it was just too big of a feature at the time considering the UI restrictions.

gkdr avatar Mar 19 '18 18:03 gkdr