XEP-0384: OMEMO Encryption for libpurple.
(taken from CHANGELOG.md)
lurch_api.h
for details and usage./command
handler using the API, replacing the old implementation. The commands are a bit different and some are new.lurch_initialised
setting in the accounts.xml
.mailto:
links. (#130) (thanks, @msiism!)Mostly just a compilation of little patches that built up over time.
Most important outward change is the structure of the source tarball: it now contains a directory (see #94).
Mostly dealt with issues related to MUCs, which resulted in me finding some stuff that is exposed in the XMPP protocol plugin, but not in libpurple and being able to avoid keeping track of data in my own hashtables.
Additionally, I think I found two memory leaks. Didn't crash while I briefly tested it myself, so I hope it stays that way and you won't get segfaults through double free.
Finally, I made a new makefile target that will help me generate the source tarball, which I had to create manually every time because GitHub doesn't copy the submodules in the automatically generated one.
Merged some pull requests and added minor enhancements.
Some important security updates, and other minor stuff.
Through XHTML-IM which is used by Pidgin for formatting text, a marked up copy of the plaintext was sent along with the normal <body>
.
This is a problem because OMEMO only encrypts the message body, and not XML nodes or the whole stanza.
The <html>
tag is now stripped before sending the message, so no more formatting, but also no leaks.
In addition, the authentication tag is now appended to the key, i.e. is part of the data which is encrypted with the double ratchet session. Parsing this has been slowly added to all clients, and now sending is being activated.
The first minor fix is changing the message handler priorities so that this plugin is one of the last to process them, and thus fixed the incompatibility with the XMPP Receipts plugin. The other is fixing the (OMEMO) being correctly displayed in the title when switching over from non-OMEMO conversations.
Updated libaxolotl to libsignal. Added some minor build stuff: additional sections on the README, and fixed linking on Fedora.
Switched to using XEP-0380: EME for info hints. This should fix ChatSecure compatibility.
Updated submodule which should fix a parsing error.
Several bugfixes, see commit message for details.