Package: pidgin Version: 2.11.0-0+deb8u1 Severity: normal Tags: patch Dear Maintainer,
As reported in the upstream mailing list: https://pidgin.im/pipermail/support/2016-September/029627.html SASL authentication is currently broken with the Pidgin client with any server that advertises the EXTERNAL authentication method. This includes irc.freenode.net since September. Upstream already fixed it: https://bitbucket.org/pidgin/main/commits/610656636af6d1d6fdd6723d5ef311c903b6a804?at=default Attached is the patch backported from that commit. I tested this on Debian Jessie and I can authenticate again on freenode. Given freenode is probably the largest IRC network out there, please consider, if possible, a stable update for Jessie. Thank you! Kind regards, Luca Boccassi -- System Information: Debian Release: 8.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 'stable'), (104, 'testing'), (103, 'unstable'), (102, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.7.0-0.bpo.1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages pidgin depends on: ii gconf2 3.2.6-3 ii libatk1.0-0 2.14.0-1 ii libc6 2.19-18+deb8u7 ii libcairo2 1.14.0-2.1+deb8u1 ii libdbus-1-3 1.8.22-0+deb8u1 ii libdbus-glib-1-2 0.102-1 ii libfontconfig1 2.11.0-6.7 ii libfreetype6 2.5.2-3+deb8u1 ii libgadu3 1:1.12.0-5 ii libgdk-pixbuf2.0-0 2.31.1-2+deb8u5 ii libglib2.0-0 2.42.1-1+b1 ii libgstreamer0.10-0 0.10.36-1.5 ii libgtk2.0-0 2.24.25-3+deb8u1 ii libgtkspell0 2.0.16-1.1 ii libice6 2:1.0.9-1+b1 ii libpango-1.0-0 1.36.8-3 ii libpangocairo-1.0-0 1.36.8-3 ii libpangoft2-1.0-0 1.36.8-3 ii libpurple0 2.11.0-0+deb8u1 ii libsm6 2:1.2.2-1+b1 ii libx11-6 2:1.6.2-3 ii libxml2 2.9.1+dfsg1-5+deb8u3 ii libxss1 1:1.2.2-1 ii perl-base [perlapi-5.20.2] 5.20.2-3+deb8u6 ii pidgin-data 2.11.0-0+deb8u1 Versions of packages pidgin recommends: ii gstreamer0.10-alsa 0.10.36-2 pn gstreamer0.10-ffmpeg <none> ii gstreamer0.10-plugins-base 0.10.36-2 ii gstreamer0.10-plugins-good 0.10.31-3+nmu4+deb8u2 Versions of packages pidgin suggests: ii libsqlite3-0 3.8.7.1-1+deb8u2 -- no debconf information >From 610656636af6d1d6fdd6723d5ef311c903b6a804 Mon Sep 17 00:00:00 2001 From: Kernc <kernc...@gmail.com> Date: Wed, 21 Sep 2016 23:24:53 +0000 Subject: [PATCH] IRC: Skip EXTERNAL SASL auth mechanism Makes Freenode and other servers that prefer SASL EXTERNAL fingerprint authentication work again. Ref: "Cannot connect to IRC (Freenode)" https://pidgin.im/pipermail/support/2016-September/029627.html --- a/libpurple/protocols/irc/msgs.c +++ b/libpurple/protocols/irc/msgs.c @@ -1574,6 +1574,8 @@ int id = 0; PurpleConnection *gc = purple_account_get_connection(irc->account); const char *mech_list = NULL; + char *pos; + size_t index; if (strncmp(args[2], "sasl ", 6)) return; @@ -1637,6 +1639,15 @@ } irc->sasl_mechs = g_string_new(mech_list); + /* Drop EXTERNAL mechanism since we don't support it */ + if ((pos = strstr(irc->sasl_mechs->str, "EXTERNAL"))) { + index = pos - irc->sasl_mechs->str; + g_string_erase(irc->sasl_mechs, index, strlen("EXTERNAL")); + /* Remove space which separated this mech from the next */ + if ((irc->sasl_mechs->str)[index] == ' ') { + g_string_erase(irc->sasl_mechs, index, 1); + } + }