[Pidgin] #16251: [PATCH] SILC prpl fixes and enhancements

Pidgin 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
 protected end-to-end.

 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>
Pidgin <https://pidgin.im>
Pidgin


More information about the Tracker mailing list