#590883 [pidgin] Fails to REconnect to SSL-enabled IRC servers

Package:
pidgin
Source:
pidgin
Description:
graphical multi-protocol instant messaging client
Submitter:
Bruno Kleinert
Date:
2010-08-06 21:03:03 UTC
Severity:
normal
#590883#5
Date:
2010-07-29 20:46:47 UTC
From:
To:
--- Please enter the report below this line. ---
Hi,

whenever Pidgin gets disconnected from an IRC server that uses SSL,
Pidgin fails to reconnect to that server. It doesn't matter whether
Pidgin gets disconnected by a network timeout or by changing the status
to offline and online again. To workaround this issue one can either
quit and restart Pidgin or disable the use of SSL for the IRC server.

I captured the a debug log from Pidgin's integrated debug output window.
The log was started before the attempt to reconnect, after Pidgin
successfully had been connected to the SSL IRC server and had been
manually disconnected.

Pidgin Debug Log : Thu Jul 29 16:33:12 2010
(16:32:46) jabber: jabber_actions: have pep: NO
(16:32:46) account: Connecting to account Fuddl@irc.lusc.de.
(16:32:46) connection: Connecting. gc = 0x9441a50
(16:32:46) dns: DNS query for 'irc.lusc.de' queued
(16:32:46) dns: Successfully sent DNS request to child 9413
(16:32:46) dns: Got response for 'irc.lusc.de'
(16:32:46) dnsquery: IP resolved for irc.lusc.de
(16:32:46) proxy: Attempting connection to 2001:67c:14c:12f::5:1
(16:32:46) proxy: Connecting to irc.lusc.de:6697 with no proxy
(16:32:46) proxy: Connection in progress
(16:32:46) proxy: Connecting to irc.lusc.de:6697.
(16:32:46) proxy: Connected to irc.lusc.de:6697.
(16:32:46) nss: Handshake failed  (-5938)
(16:32:46) connection: Connection error on 0x9441a50 (reason: 5
description: SSL Handshake Failed)
(16:32:46) account: Disconnecting account Fuddl@irc.lusc.de (0x8c6f6a0)
(16:32:46) connection: Disconnecting connection 0x9441a50
(16:32:46) jabber: jabber_actions: have pep: NO
(16:32:46) Gtk: gtk_container_remove: assertion `GTK_IS_TOOLBAR
(container) || widget->parent == GTK_WIDGET (container)' failed
(16:32:46) Gtk: gtk_container_remove: assertion `GTK_IS_TOOLBAR
(container) || widget->parent == GTK_WIDGET (container)' failed
(16:32:46) Gtk: gtk_container_remove: assertion `GTK_IS_TOOLBAR
(container) || widget->parent == GTK_WIDGET (container)' failed
(16:32:46) Gtk: gtk_container_remove: assertion `GTK_IS_TOOLBAR
(container) || widget->parent == GTK_WIDGET (container)' failed
(16:32:46) Gtk: gtk_container_remove: assertion `GTK_IS_TOOLBAR
(container) || widget->parent == GTK_WIDGET (container)' failed
(16:32:46) Gtk: gtk_container_remove: assertion `GTK_IS_TOOLBAR
(container) || widget->parent == GTK_WIDGET (container)' failed
(16:32:46) Gtk: gtk_container_remove: assertion `GTK_IS_TOOLBAR
(container) || widget->parent == GTK_WIDGET (container)' failed
(16:32:46) connection: Destroying connection 0x9441a50
(16:32:49) util: Writing file accounts.xml to
directory /home/fuddl/.purple
(16:32:49) util: Writing file /home/fuddl/.purple/accounts.xml

Though the log was created while using IPv6, the issue is the very same
for IPv4.

Cheers - Fuddl


Debian Release: squeeze/sid
  500 unstable        ftp.de.debian.org
    1 experimental    ftp.de.debian.org
--- Package information. ---
Depends                           (Version) | Installed
===========================================-+-===============
pidgin-data                      (>= 2.7.2) | 2.7.2-1
pidgin-data                    (<< 2.7.2-z) | 2.7.2-1
libatk1.0-0                     (>= 1.29.3) | 1.30.0-1
libc6                              (>= 2.7) | 2.11.2-2
libcairo2                        (>= 1.2.4) | 1.8.10-4
libdbus-1-3                      (>= 1.0.2) | 1.2.24-3
libdbus-glib-1-2                  (>= 0.78) | 0.86-1
libfontconfig1                   (>= 2.8.0) | 2.8.0-2.1
libfreetype6                     (>= 2.2.1) | 2.4.0-2
libglib2.0-0                    (>= 2.24.0) | 2.24.1-1
libgstreamer0.10-0             (>= 0.10.10) | 0.10.30-1
libgtk2.0-0                     (>= 2.18.0) | 2.20.1-1
libgtkspell0                    (>= 2.0.10) | 2.0.16-1
libice6                        (>= 1:1.0.0) | 2:1.0.6-1
libpango1.0-0                   (>= 1.18.0) | 1.28.1-1
libpurple0                       (>= 2.7.0) | 2.7.2-1
libsm6                                      | 2:1.1.1-1
libstartup-notification0          (>= 0.10) | 0.10-1
libx11-6                                    | 2:1.3.3-3
libxml2                         (>= 2.6.27) | 2.7.7.dfsg-4
libxss1                                     | 1:1.2.0-2
gconf2                        (>= 2.28.1-2) | 2.28.1-3
perl                         (>= 5.10.1-13) | 5.10.1-13
perlapi-5.10.1                              |


Recommends                      (Version) | Installed
=========================================-+-===========
gstreamer0.10-plugins-base                | 0.10.30-1
gstreamer0.10-plugins-good                | 0.10.24-1


Suggests                      (Version) | Installed
=======================================-+-==============
gnome-panel                   (>= 2.1)  | 2.30.2-1
 OR kdebase-workspace-bin               |
 OR docker                              |
evolution-data-server       (>= 1.10.0) | 2.30.2.1-1
libsqlite3-0              (>= 3.6.23.1) | 3.7.0-1

#590883#12
Date:
2010-08-06 20:59:34 UTC
From:
To:
Since I'm quite annoyed by this bug, I digged a bit into pidgin and
managed to workaround (or fix??) it:

     1. Add libgnutls-dev as build dependency
     2. Compile with --enable-nss=no --enable-gnutls=yes

I noticed there was once #422988 stating GNUTLS is not recommended by
upstream, but years have passed and it seems to me that things have
changed.

You'll find attached the patch that fixes the bug for me.

Cheers - Fuddl