[Pidgin] #16251: [PATCH] SILC prpl fixes and enhancements
trac at pidgin.im
Wed May 28 05:40:15 EDT 2014
#16251: [PATCH] SILC prpl fixes and enhancements
Reporter: priikone | Owner: elb
Type: patch | Status: new
Milestone: | Component: SILC
Version: 2.10.9 | Keywords:
Enclosed patch adds support for SILC Toolkit 1.1.11 and 1.1.12 which
brings a new default private message (IM) protection method by negotiating
a secret key via SILC network. All private messages by default will be
It also enhances the silc_say() operation by handling different message
types correctly and delivering them to correct window, if possible.
Changes to it also fixes ticket #12263 by handling the command error
messages correctly (it used to close the connection if command message
error was received, which was incorrect). I was able to reproduce the
problem and no longer can after this fix.
The patch also fixes or at least helps ticket #15170 by handling the
command reply status value correctly in WHOIS command reply by using
SILC_STATUS_IS_ERROR() macro. It also fixes userinfo retrieval when same
nickname is used multiple times in the network (if same nick was used
multiple times userinfo was never returned at all).
The patch also fixes tickets #13247, #12504 and probably others that crash
in disconnect or re-connect. The basic problem was that
silc_client_free() was called immediately after silc_client_stop() without
giving chance for the library to actually stop, thus freeing memory
underneath the library. Additionally, the library also handled the crypto
library initialization/uninitialization which meant that in re-connect it
was possible to uninitialize the crypto library underneath a new client
which was attempting to re-connect. This is now fixed by using
dont_register_crypto_library client parameter and registering the crypto
library once when the prpl is initialized, and by giving
silc_client_stop() chance to finish. I was able to reproduce the crashes
and no longer can after these fixes.
The patch removes bunch of TODOs by using correct
purple_notify_user_info_add_pair_plaintext() instead of _html().
Ticket URL: <https://developer.pidgin.im/ticket/16251>
More information about the Tracker