Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#32425 - [bitlbee] Fails to connect to gtalk with openssl

Attached to Project: Arch Linux
Opened by Michishige Kaito (mkaito) - Saturday, 03 November 2012, 15:29 GMT
Last edited by Dave Reisner (falconindy) - Wednesday, 14 November 2012, 14:01 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Dave Reisner (falconindy)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Bitlbee has been having issues connecting to Google Talk when compiled with --ssl=openssl, but has no issues when compiled with --ssl=gnutls.

Additional info:
extra/bitlbee 3.0.6-1
This task depends upon

Closed by  Dave Reisner (falconindy)
Wednesday, 14 November 2012, 14:01 GMT
Reason for closing:  Not a bug
Comment by Dave Reisner (falconindy) - Saturday, 03 November 2012, 19:24 GMT
Cannot reproduce. I connect to gtalk just fine with the current bitlbee package.
Comment by Michishige Kaito (mkaito) - Monday, 05 November 2012, 10:58 GMT
I've confirmed it on my own computer and on two servers, one in Germany, one in the states. All refuse to connect with openssl, and work just fine with gnutls. Is there anything I can provide in terms of logs?
Comment by Andy (sxe) - Monday, 12 November 2012, 15:47 GMT
I can confirm this.
Strange thing, this happened today (or more precisely: Around 4pm today for the first time).

Maybe google changes something and it is slowly rolling out to all gtalk account?
Comment by Dave Reisner (falconindy) - Monday, 12 November 2012, 16:22 GMT
You'll need to provide debug logging for this to move anywhere.
Comment by Dave Reisner (falconindy) - Monday, 12 November 2012, 16:25 GMT
Also note that we used to use gnutls for bitlbee, and this broke: https://bugs.archlinux.org/task/23678.
Comment by Andy (sxe) - Monday, 12 November 2012, 17:55 GMT
Easier said than done.

Could you give me some advice on how to get the debug infos you need please.
I tried this: http://wiki.bitlbee.org/Debugging?action=fullsearch&context=180&value=xmlconsole&titlesearch=Titles

but BITLBEE_DEBUG=1 /usr/sbin/bitlbee -nD gave me no output at all and adding "xmlconsole" as a buddy is not helpful because that only seems to work when you are already connected to a jabber server.
Comment by Benjamin Cathey (becatlibra) - Monday, 12 November 2012, 19:04 GMT
I can confirm this as well. Opened a ticket with bitlbee http://bugs.bitlbee.org/bitlbee/ticket/1010

Apparently GnuTLS is the proposed solution. Oddly, it seems to have just popped up leading to the conclusion that google changed 'something'

I enabled xmlconsole (account # set xmlconsole on) and am waiting for it to log after reconnection. I'll get you that info when i have it
Comment by Benjamin Cathey (becatlibra) - Monday, 12 November 2012, 19:07 GMT
Initial Login

14:02:59 xmlconsole : TX: <?xml version='1.0' ?><stream:stream to="gmail.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
14:02:59 xmlconsole : RX: <stream:features><mechanisms
xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>X-OAUTH2</mechanism></mechanisms></stream:features>
14:02:59 xmlconsole : TX: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl"
mechanism="X-OAUTH2">************************************************************************************************</auth>
14:02:59 xmlconsole : RX: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
14:02:59 xmlconsole : TX: <?xml version='1.0' ?><stream:stream to="gmail.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">

bitlbee channel:

14:04:59 root @: gtalk - Login error: Connection timeout
14:04:59 root @: gtalk - Logging in: Signing off..
14:04:59 root @: gtalk - Logging in: Reconnecting in 5 seconds..

14:05:04 root @: gtalk - Logging in: Connecting
14:05:04 root @: gtalk - Logging in: Connected to server, logging in
14:05:04 root @: gtalk - Logging in: Authentication finished

Relogin attempt:

14:05:04 xmlconsole : TX: <?xml version='1.0' ?><stream:stream to="gmail.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
14:05:04 xmlconsole : RX: <stream:features><mechanisms
xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>X-OAUTH2</mechanism></mechanisms></stream:features>
14:05:04 xmlconsole : TX: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl"
mechanism="X-OAUTH2">************************************************************************************************</auth>
14:05:04 xmlconsole : RX: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
14:05:04 xmlconsole : TX: <?xml version='1.0' ?><stream:stream to="gmail.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
Comment by Benjamin Cathey (becatlibra) - Monday, 12 November 2012, 19:16 GMT
ran with BITLBEE_DEBUG this time around. Here is the info

Initial login:

About to send HTTP request:
POST /o/oauth2/token HTTP/1.0
Host: accounts.google.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 175
Connection: close

client_id=###########.apps.googleusercontent.com&client_secret=######################&grant_type=refresh_token&refresh_token=#######################
HTTP response headers:
HTTP/1.0 200 OK
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Mon, 12 Nov 2012 19:12:17 GMT
Content-Type: application/json
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE

Finishing HTTP request with status: 200 OK
{
"access_token" : "access token information",
"token_type" : "Bearer",
"expires_in" : 3600
}
Extracted atoken=same access token information as above rtoken=(null)

Then bitlbee channel shows signoff due to connection timeout and then the same information as above, only this time the access_token is different


No idea if that helps or not
Comment by Dave Reisner (falconindy) - Monday, 12 November 2012, 19:21 GMT
Well, it might be nice to see how this compares to a gnutls flavored bitlbee. Given that openssl-flavored is just timing out, I'd guess that there's something missing from the login request (post-oauth) that causes the remote server to be left expecting something else which it never receives.
Comment by Benjamin Cathey (becatlibra) - Monday, 12 November 2012, 19:23 GMT
Before today, I wasn't using oauth. I hadn't realized it was an option and was using password auth, enabled oauth in my fiddling to get it to work. I agree that it would be interesting to see gnutls version
Comment by Dave Reisner (falconindy) - Monday, 12 November 2012, 19:39 GMT Comment by Benjamin Cathey (becatlibra) - Monday, 12 November 2012, 20:03 GMT
Awesome thanks! I've got too much going on at work right now to close out bitlbee and try this out. I'll do it tomorrow at some point though at let you know for sure.

Thanks

B
Comment by Dave Reisner (falconindy) - Monday, 12 November 2012, 20:07 GMT
Appreciated -- would like to see if there's hope before reverting back to something that's been known broken.
Comment by Benjamin Cathey (becatlibra) - Tuesday, 13 November 2012, 15:13 GMT
Dave

I tested the new package you linked when i arrived (3.0.6-3 x86_64) and my connection to google talk worked great. I tried rolling back to 3.0.6-2 and it worked fine as well. Maybe google figured out what they did wrong or that they did something wrong? I suppose we'll never know.

Thanks again for your quick response and willingness to help a command line junkie get his chat app working again.

-B
Comment by Dave Reisner (falconindy) - Wednesday, 14 November 2012, 14:01 GMT
Closing this, it's not a bug in bitlbee.

Loading...