FS#23678 - [bitlbee] gnutls update breaks bitlbee connections to certain jabber servers
Attached to Project:
Arch Linux
Opened by Michael Hellwig (the_eye) - Sunday, 10 April 2011, 14:18 GMT
Last edited by Gaetan Bisson (vesath) - Sunday, 18 September 2011, 13:23 GMT
Opened by Michael Hellwig (the_eye) - Sunday, 10 April 2011, 14:18 GMT
Last edited by Gaetan Bisson (vesath) - Sunday, 18 September 2011, 13:23 GMT
|
Details
Description:
The update of gnutls that came through yesterday, (i.e. to version 2.12.2-1) breaks functionality in bitlbee in that bitlbee then fails to complete its connections to at least one important jabber server (namely jabber.ccc.de) downgrading gnutls (to the version available in A.R.M which is 2.10.5-1) makes it work again, so the problem is in gnutls, not bitlbee (which also saw an update yesterday that was, as far as i can see, pretty minor). Since I don't control the server I'm not sure how I can further debug this .. Additional info: * package version(s) gnutls 2.12.2-1 breaks connections of bitlbee 3.0.2-2 to jabber.ccc.de (biggest german jabber server). using gnutls 2.10.5-1 fixes the problem * config and/or log files etc. not sure what to put here? I didn't do any user-config of gnutls Steps to reproduce: update bitlbee and gnutls to the newest versions available in arch. Connect to jabber.ccc.de. Connection will hang indefinitely after the authentication part (and before the "logged in") part, until bitlbee runs into a timeout, disconnects and then tries to reconnect. repeat ad nauseam. downgrade gnutls to an earlier version (and recompile bitlbee to be on the safe side) makes it work, so the culprit is gnutls. |
This task depends upon
Closed by Gaetan Bisson (vesath)
Sunday, 18 September 2011, 13:23 GMT
Reason for closing: Fixed
Additional comments about closing: bitlbee-3.0.3-4 in [extra]
Sunday, 18 September 2011, 13:23 GMT
Reason for closing: Fixed
Additional comments about closing: bitlbee-3.0.3-4 in [extra]
I will built bitlbee against openssl as a fix for the time being, (at least) until the underlying gnutls problem is solved.
I will then close this ticket since bitlbee now builds against openssl.
anyway, have opened a bug at https://savannah.gnu.org/support/index.php?107660 the gnutls site ..
if anyone can add info to that bug it would probably be helpful ...
re linking against openssl: whoever is the package maintainer has presumably read the warning that bitlbee make spits out when compiling against openssl? something about it being legally dubious to distribute it as a binary then?
I am aware of the incompatibility between the GNU General Public License and the Apache License 1.0, and I believe (like many others) that it does not concern the way Arch distributes software: dynamically linked, in separate packages.
As BitlBee is now built against OpenSSL, I will close this bug report, but please create new ones for other programs affected by the GnuTLS update.
Could you patch bitlbee with https://savannah.gnu.org/support/download.php?file_id=23212 , compile it with --ssl=gnutls and then --ssl=openssl (and maybe --ssl=bogus) and report which work?
best regards
When this is fixed in GnuTLS (Jan, Andreas?) I will rebuild bitlbee against it.
08:19 <@root> jabber - Logging in: Connected to server, logging in
08:19 <@root> jabber - Logging in: Converting stream to TLS
08:19 <@root> jabber - Logging in: Connected to server, logging in
08:21 <@root> jabber - Login error: Connection timeout
08:21 <@root> jabber - Logging in: Signing off..
[root@desktop1 ~]# pacman -Qs bitlbee
local/bitlbee 3.0.2-4
Brings instant messaging (XMPP, MSN, Yahoo!, AIM, ICQ, Twitter) to IRC
[root@desktop1 ~]# pacman -Qs gnutls
local/gnutls 2.12.3-1
A library which provides a secure layer over a reliable transport layer
Unfortunately, this does not seem to have resolved the problem.
Downgrading to lower version did help.
Built against openssl, connections to jabber.ccc.de still work.
Note, will also communicate this on the bitlbee bugtracker.
In addition, connecting to both Facebook and GoogleTalk Jabber works correctly with all versions of bitlbee/gnutls I've tried.
For reference the server being contacted that's not working is running OpenFire 3.6.4.
From the GNU bugtracker and looking at the code it seems the issue here is that with the 3.x branch gnutls changed how clients
check for remaining encrypted data on the socket, from a "low water mark" select()-based approach to something more asynchronous,
requiring the client to poll for new data. At this point, it probably requires a bitlbee patch to correctly handle these situations,
assuming it's not somehow a bug specific to OpenFire 3.6.4.
Looks like this is an OpenFire 3.6.x bug that's already been resolved at this point.
All my ssl connections still work.
fix is still the same as before, namely "build against openssl".
ldd =bitlbee | grep gnutls
libgnutls.so.28 => /usr/lib/libgnutls.so.28 (0x00007feb28b6a000)
jabber.ccc.de
ssl = `false'
tls = `true'
Logging in: Connected to server, logging in
Logging in: Converting stream to TLS
Logging in: Connected to server, logging in
Logging in: Authentication finished
Logging in: Authenticated, requesting buddy list
Logging in: Logged in
ssl = true
tls = try (same behaviour with tls=false)
<@root> jabber(the_eye@jabber.ccc.de) - Logging in: Connecting
<@root> jabber(the_eye@jabber.ccc.de) - Logging in: Connected to server, logging in
<@root> jabber(the_eye@jabber.ccc.de) - Logging in: Authentication finished
<@root> jabber(the_eye@jabber.ccc.de) - Logging in: Authenticated, requesting buddy list
<timeout after quite 2-3 Minutes wait>
<@root> jabber(the_eye@jabber.ccc.de) - Login error: Connection timeout
<@root> jabber(the_eye@jabber.ccc.de) - Logging in: Signing off..
in contrast with:
ssl = false
tls = true
19:17 <@root> jabber(the_eye@jabber.ccc.de) - Logging in: Connecting
19:17 <@root> jabber(the_eye@jabber.ccc.de) - Logging in: Connected to server, logging in
19:17 <@root> jabber(the_eye@jabber.ccc.de) - Login error: Error while reading from server
19:17 <@root> jabber(the_eye@jabber.ccc.de) - Logging in: Signing off..
regards