Adium

Ticket #8113 (closed defect: fixed)

Opened 1 year ago

Last modified 1 year ago

GTalk fails to connect (2/2 cyrus-sasl) with newest libpurple change

Reported by: zacw Assigned to: nobody
Priority: normal Milestone: Adium 1.2
Component: Google Talk Version:
Severity: normal Keywords:
Cc: mathuaerknedam Patch: None
Pending: 0

Description

Connecting to GTalk (jabber.org works) yields the error "Invalid authzid":

16:52:01: (Libpurple: jabber) Sending: <?xml version='1.0' ?>
16:52:01: (Libpurple: jabber) Sending: <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
16:52:01: (Libpurple: jabber) Recv (386): <?xml version="1.0" encoding="UTF-8"?><stream:stream from="gmail.com" id="16CE5C3E3D33B8C9" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
16:52:01: (Libpurple: jabber) Sending: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
16:52:01: (Libpurple: jabber) Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
16:52:01: (Libpurple: jabber) Sending (ssl): <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
16:52:01: (Libpurple: jabber) Recv (ssl)(176): <?xml version="1.0" encoding="UTF-8"?><stream:stream from="gmail.com" id="6449CEB16DAD8A1F" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
16:52:01: (Libpurple: jabber) Recv (ssl)(166): <stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
16:52:01: (Libpurple: jabber) Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>(removed)</auth>
16:52:02: (Libpurple: jabber) Recv (ssl)(78): <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><invalid-authzid/></failure>
16:52:02: (Libpurple: jabber) Recv (ssl)(16): </stream:stream>

Attachments

gtalkSettings.png (52.1 kB) - added by zacw on 10/15/2007 08:29:21 PM.
My settings.

Change History

10/13/2007 04:57:15 PM changed by zacw

Using the same user information, 1.1.3 connects without problems. This is after [21254].

10/14/2007 03:38:05 AM changed by boredzo

  • component changed from Adium Core to Google Talk.

This only affects GTalk, not Jabber.org.

10/15/2007 09:48:33 AM changed by Ksilebo

Still seeing this in 21283 as well, in case that helps.

10/15/2007 08:10:52 PM changed by evands

I can't reproduce this in [21285]... I committed a newly built Libpurple.framework in that version, too (I didn't notice this to test it before doing so). Is this still a problem?

10/15/2007 08:28:40 PM changed by zacw

It does not work for me in [21285].

10/15/2007 08:29:21 PM changed by zacw

  • attachment gtalkSettings.png added.

My settings.

10/15/2007 08:50:08 PM changed by edr1084

Same here, settings also the same.

10/15/2007 09:32:16 PM changed by evands

Works for me, exact same settings. What OS X version and processor type, folks? I'm 10.5/9a528d, Intel.

10/15/2007 09:33:03 PM changed by evands

And I'd like to see a full debug log of the connect failing - Zac, was your log snipped out to include just the (Libpurple: jabber) lines?

10/15/2007 09:43:23 PM changed by edr1084

10.4.10, PPC. I can get a debug log later on.

10/15/2007 09:51:20 PM changed by evands

I doubt another debug log will look different... zac's looks just like mine, finding two mechs (PLAIN and X-GOOGLE-TOKEN), choosing the PLAIN one.. except then it fails with 'invalid authzid' whereas mine succeeds.

10/16/2007 06:53:31 AM changed by evands

I reproduced this on an Intel running 10.4. The value passed for

06:50:41: (Libpurple: jabber) Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>(removed)</auth>

is the same every time on each machine, and always works on my 10.5 machine. I don't know if the 10.4/10.5 difference is the actual important difference...

10/17/2007 03:48:48 PM changed by evands

  • status changed from new to closed.
  • resolution set to fixed.

(In [21289]) Libpurple.framework [507], which adds real cyrus-sasl support (hopefully). We need to include our own build of the library for it to work on 10.4. Fixes #8113 in my testing, but I also changed other system parameters in the process... so please reopen #8113 if it isn't resolved after a clean build.

10/17/2007 04:14:46 PM changed by zacw

This does indeed correct it. Hooray!

10/17/2007 04:21:37 PM changed by evands

Sweet! Now we support all sorts of crazy new authentication schemes for XMPP accounts. Theoretically, that's anonyous, cram-md5, digest-md5, gssapi (v2), kerberos4, ntlm, otp, passdss, plain, sql, and srp. I have no idea what half of those even are ;)

10/17/2007 04:21:52 PM changed by evands

anonymous, not anonyous.

11/04/2007 11:54:54 AM changed by mlf

It's back in svn [21519] , yournamehere@gmail.com (GTalk) : Error Invalid authzid

11/04/2007 12:30:57 PM changed by boredzo

  • status changed from closed to reopened.
  • resolution deleted.

Same here in r21520.

11/08/2007 10:55:20 PM changed by evands

Presumably the build of cyrus-sasl is broken, as that was what caused this problem before.

11/10/2007 05:01:26 PM changed by zacw

  • status changed from reopened to closed.
  • resolution set to fixed.

I'm able to connect to GTalk on [21621].

11/10/2007 05:01:47 PM changed by zacw

  • status changed from closed to reopened.
  • resolution deleted.

Oh wait, the 10.4 thing. Anybody on 10.4 able to connect?

11/15/2007 02:00:14 PM changed by evands

This is the same problem which was seen with linkage against 10.4's cyrus-sasl; it appears we may be using that (or compiling our own improperly). For those playing from home, the interesting bit is that the

18:45:40: (Libpurple: jabber) Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>blah</auth>

bit is actually an encoded form which has the username included twice, causing the authorization failure.

I'm not sure, but I think 'PLAIN' may mean that this encoded form is actually decodable to plaintext; it is only SSL which makes this secure, since it goes out over the wire encrypted.

11/15/2007 02:03:23 PM changed by evands

The log referenced above looks like:

 Connecting: gc=0x5bd9b0 (Authenticating) 7 / 9 18:45:40: 
(Libpurple: jabber) Recv (ssl)(166): <stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features> 18:45:40: 
(Libpurple: sasl) Mechs found: PLAIN X-GOOGLE-TOKEN 18:45:40:
 (Libpurple: jabber) Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>encrypted_password</auth> 18:45:40: ************ xxxxxx@gmail.com --step-- 7 18:45:40: 
(Libpurple: jabber) Recv (ssl)(78): <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><invalid-authzid/></failure> 18:45:40: Connection Disconnected: gc=5bd9b0 (Invalid authzid)

Encrypted password removed from view for security. Guys, be careful posting logs with a PLAIN encoded password; these are only securely encrypted over the wire.

11/15/2007 02:04:01 PM changed by evands

  • summary changed from GTalk fails to connect with newest libpurple change to GTalk fails to connect (2/2 cyrus-sasl) with newest libpurple change.

11/16/2007 01:02:15 PM changed by mathuaerknedam

  • cc set to mathuaerknedam.

11/19/2007 02:25:47 PM changed by evands

  • status changed from reopened to closed.
  • resolution set to fixed.

Please try with a clean build of [21697] or later if you were seeing this issue and reopen if you're still seeing it.

11/19/2007 02:54:10 PM changed by mathuaerknedam

Sadly, it still doesn't work. Now instead of giving the authzid error, it stays in a perpetual state of connecting, without any errors at all! This is with a clean build (rm -rf ~/src/Adium/build; cd ~/src/Adium; make latest) of r21698.

11/19/2007 02:54:32 PM changed by mathuaerknedam

  • status changed from closed to reopened.
  • resolution deleted.

11/19/2007 05:19:06 PM changed by mlf

mathuaerknedam is correct in the behavior, but the repeating connection attempts with no error alert to the user started at a previous check in (no, i don't remember when, but I can try and find out).

11/19/2007 05:29:28 PM changed by evands

You're both on 10.4, right?

The error is displayed in the Accounts preferences (Adium erroneously thinks that this authorization failure is a non-fatal error so quietly keeps retrying rather than aborting the attempt and showing an error message). Does it still say it's an authzid error which looking there?

11/19/2007 05:36:13 PM changed by mathuaerknedam

I'm using 10.4.11. You're right, it says "Error, invalid authzid" in the accounts prefpane.

11/19/2007 05:37:33 PM changed by mlf

ditto, 10.4.11, xcode 2.5, deployment-debug, svn 21698.

here's a listing of my sasl libraries:

MLFs-laptop:/usr/lib 17:35:37$ ls -la *sasl*
lrwxr-xr-x   1 root  wheel      16 Aug  4 18:31 libsasl2.2.0.1.dylib -> libsasl2.2.dylib
lrwxr-xr-x   1 root  wheel      16 Aug  4 18:31 libsasl2.2.0.15.dylib -> libsasl2.2.dylib
-r-xr-xr-x   1 root  wheel  175132 Nov 14 19:19 libsasl2.2.dylib
lrwxr-xr-x   1 root  wheel      16 Aug  4 18:31 libsasl2.dylib -> libsasl2.2.dylib

11/19/2007 05:55:57 PM changed by evands

But there's no /usr/libl/sasl2 folder?

11/19/2007 05:59:47 PM changed by mathuaerknedam

I have one:

[mneedham@kagiso:~/]  ls -al /usr/lib/sasl2
total 1.2M
drwxr-xr-x    2 root root 4.0K 2007-03-05 08:54 ./
drwxr-xr-x  158 root root  80K 2007-11-06 04:05 ../
-rwxr-xr-x    1 root root  875 2004-12-01 21:27 libanonymous.la*
lrwxrwxrwx    1 root root   22 2006-05-26 15:02 libanonymous.so -> libanonymous.so.2.0.19*
lrwxrwxrwx    1 root root   22 2006-05-26 15:02 libanonymous.so.2 -> libanonymous.so.2.0.19*
-rwxr-xr-x    1 root root  13K 2004-12-01 21:27 libanonymous.so.2.0.19*
-rwxr-xr-x    1 root root  863 2004-12-01 21:27 libcrammd5.la*
lrwxrwxrwx    1 root root   20 2006-05-26 15:02 libcrammd5.so -> libcrammd5.so.2.0.19*
lrwxrwxrwx    1 root root   20 2006-05-26 15:02 libcrammd5.so.2 -> libcrammd5.so.2.0.19*
-rwxr-xr-x    1 root root  15K 2004-12-01 21:27 libcrammd5.so.2.0.19*
-rwxr-xr-x    1 root root  884 2004-12-01 21:27 libdigestmd5.la*
lrwxrwxrwx    1 root root   22 2006-05-26 15:02 libdigestmd5.so -> libdigestmd5.so.2.0.19*
lrwxrwxrwx    1 root root   22 2006-05-26 15:02 libdigestmd5.so.2 -> libdigestmd5.so.2.0.19*
-rwxr-xr-x    1 root root  42K 2004-12-01 21:27 libdigestmd5.so.2.0.19*
-rwxr-xr-x    1 root root  911 2004-12-01 21:27 libgssapiv2.la*
lrwxrwxrwx    1 root root   21 2006-05-26 15:26 libgssapiv2.so -> libgssapiv2.so.2.0.19*
lrwxrwxrwx    1 root root   21 2006-05-26 15:26 libgssapiv2.so.2 -> libgssapiv2.so.2.0.19*
-rwxr-xr-x    1 root root  22K 2004-12-01 21:27 libgssapiv2.so.2.0.19*
-rwxr-xr-x    1 root root  851 2004-12-01 21:27 liblogin.la*
lrwxrwxrwx    1 root root   18 2006-05-26 15:05 liblogin.so -> liblogin.so.2.0.19*
lrwxrwxrwx    1 root root   18 2006-05-26 15:05 liblogin.so.2 -> liblogin.so.2.0.19*
-rwxr-xr-x    1 root root  13K 2004-12-01 21:27 liblogin.so.2.0.19*
-rwxr-xr-x    1 root root  851 2004-12-01 21:27 libplain.la*
lrwxrwxrwx    1 root root   18 2006-05-26 15:05 libplain.so -> libplain.so.2.0.19*
lrwxrwxrwx    1 root root   18 2006-05-26 15:05 libplain.so.2 -> libplain.so.2.0.19*
-rwxr-xr-x    1 root root  14K 2004-12-01 21:27 libplain.so.2.0.19*
-rwxr-xr-x    1 root root  931 2004-12-01 21:27 libsasldb.la*
lrwxrwxrwx    1 root root   19 2006-05-26 15:02 libsasldb.so -> libsasldb.so.2.0.19*
lrwxrwxrwx    1 root root   19 2006-05-26 15:02 libsasldb.so.2 -> libsasldb.so.2.0.19*
-rwxr-xr-x    1 root root 767K 2004-12-01 21:27 libsasldb.so.2.0.19*
-rw-r--r--    1 root root   25 2006-10-07 11:37 Sendmail.conf
-rw-r--r--    1 root root   26 2006-10-07 10:50 smtpd.conf

11/19/2007 06:02:34 PM changed by mlf

absolutely:

MLFs-laptop:/usr/lib/sasl2 17:56:59$ ls -la
total 3856
drwxr-xr-x    39 root  wheel    1326 Nov 14 19:15 .
drwxr-xr-x   279 root  wheel    9486 Nov 14 21:55 ..
-rw-r--r--     1 root  wheel     631 Apr 10  2007 apop.la
-r-xr-xr-x     1 root  wheel   46168 Apr 10  2007 apop.so
-rwxr-xr-x     1 root  wheel     629 Apr 10  2007 dhx.la
-r-xr-xr-x     1 root  wheel  772244 Apr 10  2007 dhx.so
-rw-r--r--     1 root  wheel     653 Apr 10  2007 digestmd5WebDAV.la
-r-xr-xr-x     1 root  wheel  100408 Apr 10  2007 digestmd5WebDAV.so
drwxr-xr-x     8 root  wheel     272 Nov 14 19:15 disabled
-r-xr-xr-x     1 root  wheel   42244 Jan 11  2007 libanonymous.2.so
-rw-r--r--     1 root  wheel     694 Jan 11  2007 libanonymous.la
-r-xr-xr-x     1 root  wheel   46428 Jan 11  2007 libcrammd5.2.so
-rw-r--r--     1 root  wheel     682 Jan 11  2007 libcrammd5.la
-r-xr-xr-x     1 root  wheel  100468 Apr 10  2007 libdigestmd5.2.so
-rw-r--r--     1 root  wheel     703 Jan 11  2007 libdigestmd5.la
-r-xr-xr-x     1 root  wheel   59536 Jan 11  2007 libgssapiv2.2.0.18.so
lrwxr-xr-x     1 root  wheel      21 Aug  4 18:32 libgssapiv2.2.so -> libgssapiv2.2.0.18.so
-rw-r--r--     1 root  wheel     739 Jan 11  2007 libgssapiv2.la
-r-xr-xr-x     1 root  wheel   59352 Jan 11  2007 libkerberos4.2.so
-rw-r--r--     1 root  wheel     628 Jan 11  2007 liblogin.la
-rw-r--r--     1 root  wheel     637 Jan 11  2007 libntlm.la
-r-xr-xr-x     1 root  wheel   71768 Jan 11  2007 libntlm.so
-r-xr-xr-x     1 root  wheel  145532 Jan 11  2007 libotp.2.so
-rw-r--r--     1 root  wheel     667 Jan 11  2007 libotp.la
-r-xr-xr-x     1 root  wheel   46284 Jan 11  2007 libplain.2.so
-rw-r--r--     1 root  wheel     670 Jan 11  2007 libplain.la
-r-xr-xr-x     1 root  wheel   46292 Jan 11  2007 login.so
-rwxr-xr-x     1 root  wheel     639 Apr 10  2007 mschapv2.la
-r-xr-xr-x     1 root  wheel   59672 Apr 10  2007 mschapv2.so
drwxr-xr-x     6 root  wheel     204 Nov 14 19:15 openldap
-rwxr-xr-x     1 root  wheel     651 Apr 10  2007 shadow_auxprop.la
-r-xr-xr-x     1 root  wheel   51356 Apr 10  2007 shadow_auxprop.so
-rwxr-xr-x     1 root  wheel     635 Apr 10  2007 smb_lm.la
-r-xr-xr-x     1 root  wheel   50996 Apr 10  2007 smb_lm.so
-rwxr-xr-x     1 root  wheel     635 Apr 10  2007 smb_nt.la
-r-xr-xr-x     1 root  wheel   50996 Apr 10  2007 smb_nt.so
-rwxr-xr-x     1 root  wheel     568 Apr 10  2007 smb_ntlmv2.la
-r-xr-xr-x     1 root  wheel   59488 Apr 10  2007 smb_ntlmv2.so
-r-xr-xr-x     1 root  wheel   54752 Apr 10  2007 twowayrandom.so
MLFs-laptop:/usr/lib/sasl2 17:57:01$ 

also, I do have fink compiled and installed, and it comes with it's own sasl libraries (2.0.22), but I don't think that should be called from non-fink apps.

11/19/2007 06:03:50 PM changed by mathuaerknedam

Oops, wrong tab. That was a linux box! :)

Here's the dir listing on my mac:

fred:~ mneedham$ ls -al /usr/lib/sasl2
total 3856
drwxr-xr-x    39 root  wheel    1326 Nov  3  2006 .
drwxr-xr-x   278 root  wheel    9452 Nov 14 16:07 ..
-rw-r--r--     1 root  wheel     631 Jul  1  2006 apop.la
-r-xr-xr-x     1 root  wheel   46168 Jul  1  2006 apop.so
-rwxr-xr-x     1 root  wheel     629 Jul  1  2006 dhx.la
-r-xr-xr-x     1 root  wheel  772244 Jul  1  2006 dhx.so
-rw-r--r--     1 root  wheel     653 Jul  1  2006 digestmd5WebDAV.la
-r-xr-xr-x     1 root  wheel  100408 Jul  1  2006 digestmd5WebDAV.so
drwxr-xr-x     8 root  wheel     272 Nov  3  2006 disabled
-r-xr-xr-x     1 root  wheel   42244 Aug 11  2006 libanonymous.2.so
-rw-r--r--     1 root  wheel     694 Aug 11  2006 libanonymous.la
-r-xr-xr-x     1 root  wheel   46428 Aug 11  2006 libcrammd5.2.so
-rw-r--r--     1 root  wheel     682 Aug 11  2006 libcrammd5.la
-r-xr-xr-x     1 root  wheel  100468 Aug 25  2006 libdigestmd5.2.so
-rw-r--r--     1 root  wheel     703 Aug 11  2006 libdigestmd5.la
-r-xr-xr-x     1 root  wheel   59536 Aug 12  2006 libgssapiv2.2.0.18.so
lrwxr-xr-x     1 root  wheel      21 Aug 21  2006 libgssapiv2.2.so -> libgssapiv2.2.0.18.so
-rw-r--r--     1 root  wheel     739 Aug 12  2006 libgssapiv2.la
-r-xr-xr-x     1 root  wheel   59352 Aug 12  2006 libkerberos4.2.so
-rw-r--r--     1 root  wheel     628 Aug 11  2006 liblogin.la
-rw-r--r--     1 root  wheel     637 Aug 11  2006 libntlm.la
-r-xr-xr-x     1 root  wheel   71768 Aug 11  2006 libntlm.so
-r-xr-xr-x     1 root  wheel  145532 Aug 11  2006 libotp.2.so
-rw-r--r--     1 root  wheel     667 Aug 11  2006 libotp.la
-r-xr-xr-x     1 root  wheel   46284 Aug 11  2006 libplain.2.so
-rw-r--r--     1 root  wheel     670 Aug 11  2006 libplain.la
-r-xr-xr-x     1 root  wheel   46292 Aug 11  2006 login.so
-rwxr-xr-x     1 root  wheel     639 Jul  1  2006 mschapv2.la
-r-xr-xr-x     1 root  wheel   59672 Jul  1  2006 mschapv2.so
drwxr-xr-x     6 root  wheel     204 Nov  3  2006 openldap
-rwxr-xr-x     1 root  wheel     651 Jul  1  2006 shadow_auxprop.la
-r-xr-xr-x     1 root  wheel   51356 Jul  1  2006 shadow_auxprop.so
-rwxr-xr-x     1 root  wheel     635 Jul  1  2006 smb_lm.la
-r-xr-xr-x     1 root  wheel   50996 Jul  1  2006 smb_lm.so
-rwxr-xr-x     1 root  wheel     635 Jul  1  2006 smb_nt.la
-r-xr-xr-x     1 root  wheel   50996 Jul  1  2006 smb_nt.so
-rwxr-xr-x     1 root  wheel     568 Jul  1  2006 smb_ntlmv2.la
-r-xr-xr-x     1 root  wheel   59488 Jul  1  2006 smb_ntlmv2.so
-r-xr-xr-x     1 root  wheel   54752 Jul  1  2006 twowayrandom.so

Unlike MLF, I don't have fink installed.

(follow-up: ↓ 39 ) 11/20/2007 12:09:52 AM changed by edr1084

Works for me. 10.4.11, double broomed.

(in reply to: ↑ 38 ) 11/20/2007 01:09:04 AM changed by evands

Replying to edr1084:

Works for me. 10.4.11, double broomed.

Interesting. Do your /usr/lib/*sasl* and /usr/lib/sasl/* ls -la outputs look the same as above?

11/20/2007 07:08:36 AM changed by edr1084

Indeed they do. Interesting note, while testing this it crashed on launch this morning (SSL handshake failed on one of the gtalk accounts), but was fine on relaunch.

11/20/2007 09:47:36 AM changed by mathuaerknedam

I tried it again, this time opening Xcode and double brooming it rather than my usual cli method (rm -rf ~/src/Adium/build; cd ~/src/Adium; make latest), but I still get the same error.

(follow-up: ↓ 43 ) 11/20/2007 11:35:31 AM changed by mlf

I've tried clean checkouts and xcode 2.5 builds from svn r21698 , and still no joy. builds were development, delpoyment-debug, and deployment. i can send connection attempt logs to you evan if you want, and would be willing to also offer up my build logs. I've also moved my fink /sw directory away while making connection attempts to no help.

I wish the previous error message was still being flagged as an exception that lets the user abort the connection attempt. now deployment build just shows spinning black square with no clue why it's hanging. the other builds i can see the "invalid authzid" in the debug log.

Eric, do you want to swap built applications?

(in reply to: ↑ 42 ) 11/20/2007 11:40:10 AM changed by edr1084

Replying to mlf:

Eric, do you want to swap built applications?

I could if you want to give it a shot. However I won't be able to do so until I get home from work later tonight.

11/22/2007 12:18:29 AM changed by evands

Thanks mathuaerknedam, mlf, edr1084 for your awesome testing on this troublesome problem. I've decided to take a new approach. We'll write off 10.4's PLAIN sasl as buggy and work around it via libpurple itself - since libpurple can function fine without cyrus-sasl for servers which support PLAIN, we can use its implementation on 10.4 before trying sasl. On 10.5, we'll keep using sasl for starters, which is more likely to get us a secure authentication method if possible. (Note that PLAIN is really only a problem if the server also refuses to support SSL).

Try a build with this next commit and let's see how we do :)

11/22/2007 12:23:35 AM changed by evands

  • status changed from reopened to closed.
  • resolution set to fixed.

(In [21712]) Added a patch to libpurple, application of the patch, and a built libpurple im.pidgin.pidgin @ 5727e9151416612d63670c49ed8982d3bb1704b4 which has the patch applied. This adds a libpurple preference (code only, not in the UI) which asks xmpp to use its own PLAIN and DIGEST-MD5 implementations before trying cyrus-sasl. We only set this to TRUE if the client is running on 10.4, where PLAIN cyrus-sasl fails authentication because the username is mysteriously doubled before Base64 encoding is performed.

The result is that on 10.5+, we use cyrus-sasl exclusively, which then figures out for us the best authentication method and uses it. That can include much more complex methods such as Kerberos5/GSSAPI, needed to connect to iChat Server 10.5 among others, or CRAM-MD5.

On 10.4, we use libpurple's DIGEST-MD5 implementation if the server supports that. Failing that, we use libpurple's PLAIN if the server supports that. Failing that, we pass the attempt on to cyrus-sasl. This -might- work for the other mechanisms, but we have no testing on that so far.

Fixes #8113 (I hope!).

11/22/2007 03:14:15 AM changed by edr1084

  • status changed from closed to reopened.
  • resolution deleted.

No workie. Adium go boom.

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_INVALID_ADDRESS (0x0001) at 0x037ff00f

Thread 0 Crashed:
0   <<00000000>> 	0xffff8ac0 __memcpy + 800 (cpu_capabilities.h:189)
1   com.apple.security        	0x9116417c ssl3WriteRecord + 280
2   com.apple.security        	0x91161ef8 SSLWrite + 276
3   com.adiumX.AdiumPurple    	0x0372ab58 ssl_cdsa_write + 56
4   libpurple                 	0x0b50f758 purple_ssl_write + 228
5   libpurple                 	0x0b55d1d8 jabber_do_send + 76
6   libpurple                 	0x0b55d528 jabber_send_raw + 480
7   libpurple                 	0x0b55c7cc jabber_stream_init + 92
8   libpurple                 	0x0b55da1c jabber_recv_cb_ssl + 204
9   libpurple                 	0x0b50f068 recv_cb + 80
10  com.apple.CoreFoundation  	0x907f1314 __CFSocketDoCallback + 532
11  com.apple.CoreFoundation  	0x907f1038 __CFSocketPerformV0 + 288
12  com.apple.CoreFoundation  	0x907de42c __CFRunLoopDoSources0 + 384
13  com.apple.CoreFoundation  	0x907dd95c __CFRunLoopRun + 452
14  com.apple.CoreFoundation  	0x907dd3dc CFRunLoopRunSpecific + 268
15  com.apple.HIToolbox       	0x9329bb20 RunCurrentEventLoopInMode + 264
16  com.apple.HIToolbox       	0x9329b1b4 ReceiveNextEventCommon + 380
17  com.apple.HIToolbox       	0x9329b020 BlockUntilNextEventMatchingListInMode + 96
18  com.apple.AppKit          	0x937a1bc4 _DPSNextEvent + 384
19  com.apple.AppKit          	0x937a1888 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116
20  com.apple.AppKit          	0x9379ddcc -[NSApplication run] + 472
21  com.apple.AppKit          	0x9388e974 NSApplicationMain + 452
22  com.adiumX.adiumX         	0x000036bc _start + 760
23  com.adiumX.adiumX         	0x000033c0 start + 48

That was a clean build, crash when gtalk attempted to connect. Sorry Evan... :(

11/22/2007 03:21:53 AM changed by evands

That's... not even SASL related code... do you get the same crash every time?

11/22/2007 08:32:27 AM changed by mlf

clean r21712 deployment-debug xcode 2.5 10.4.11. crash when attempting to connect gtalk account. Happens right after step 7. tried twice, crashes twice with exact same offsets (ie, same crash every time where "every" == twice).

Date/Time:      2007-11-22 08:24:27.491 -0500
OS Version:     10.4.11 (Build 8S2167)
Report Version: 4

Command: Adium
Path:    /Users/mlf/Applications/Adium.app/Contents/MacOS/Adium
Parent:  WindowServer [13848]

Version: 1.2svn (1.2svn)

PID:    26576
Thread: 0

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000006

Thread 0 Crashed:
0   libpurple                  	0x07dad6de jabber_auth_handle_success + 374
1   libpurple                  	0x07dba814 jabber_process_packet + 785
2   libpurple                  	0x07dc5ca2 jabber_parser_element_end_libxml + 118
3   libxml2.2.dylib            	0x91bed7ff xmlParseChunk + 2268
4   libpurple                  	0x07dc5dea jabber_parser_process + 152
5   libpurple                  	0x07dbaf68 jabber_recv_cb_ssl + 160
6   libpurple                  	0x07d781fa recv_cb + 43
7   com.apple.CoreFoundation   	0x90842f4f __CFSocketDoCallback + 473
8   com.apple.CoreFoundation   	0x90842cc4 __CFSocketPerformV0 + 392
9   com.apple.CoreFoundation   	0x9082cf32 CFRunLoopRunSpecific + 1213
10  com.apple.CoreFoundation   	0x9082ca6e CFRunLoopRunInMode + 61
11  com.apple.HIToolbox        	0x92df4878 RunCurrentEventLoopInMode + 285
12  com.apple.HIToolbox        	0x92df3f82 ReceiveNextEventCommon + 385
13  com.apple.HIToolbox        	0x92df3dd9 BlockUntilNextEventMatchingListInMode + 81
14  com.apple.AppKit           	0x9327b485 _DPSNextEvent + 572
15  com.apple.AppKit           	0x9327b076 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 137
16  com.apple.AppKit           	0x93274dfb -[NSApplication run] + 512
17  com.apple.AppKit           	0x93268d4f NSApplicationMain + 573
18  com.adiumX.adiumX          	0x00002462 _start + 216
19  com.adiumX.adiumX          	0x00002389 start + 41
08:24:20: adiumPurpleCoreDebugInit()
08:24:20: adiumPurpleCore: load_all_plugins()
08:24:21: (Libpurple: util) Reading file xmpp-caps.xml from directory /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple
08:24:21: (Libpurple: prefs) /purple/status/scores/offline changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/status/scores/available changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/status/scores/invisible changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/status/scores/away changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/status/scores/extended_away changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/status/scores/idle changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/status/scores/offline_msg changed, scheduling save.
08:24:21: (Libpurple: util) Reading file accounts.xml from directory /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple
08:24:21: (Libpurple: util) Reading file status.xml from directory /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple
08:24:21: (Libpurple: util) File /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple/status.xml does not exist (this is not necessarily an error)
08:24:21: (Libpurple: certificate) CertificateVerifier x509, singleuse requested but not found.
08:24:21: (Libpurple: certificate) CertificateVerifier singleuse registered
08:24:21: (Libpurple: certificate) CertificatePool x509, ca requested but not found.
08:24:21: (Libpurple: certificate) CertificateScheme x509 requested but not found.
08:24:21: (Libpurple: certificate/x509/ca) Lazy init failed because an X.509 Scheme is not yet registered. Maybe it will be better later.
08:24:21: (Libpurple: certificate/x509/ca) Init failed, probably because a dependency is not yet registered. It has been deferred to later.
08:24:21: (Libpurple: certificate) CertificatePool ca registered
08:24:21: (Libpurple: certificate) CertificatePool x509, tls_peers requested but not found.
08:24:21: (Libpurple: certificate) CertificatePool tls_peers registered
08:24:21: (Libpurple: certificate) CertificateVerifier x509, tls_cached requested but not found.
08:24:21: (Libpurple: certificate) CertificateVerifier tls_cached registered
08:24:21: (Libpurple: prefs) /purple/logging/format changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/logging/format changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/proxy/type changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/proxy/host changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/proxy/port changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/proxy/username changed, scheduling save.
08:24:21: (Libpurple: prefs) /purple/proxy/password changed, scheduling save.
08:24:21: (Libpurple: stun) using server 
08:24:21: (Libpurple: nat-pmp) found a default gateway
08:24:21: (Libpurple: nat-pmp) Attempting to retrieve the public ip address for the NAT device at: 10.0.1.1
08:24:21: (Libpurple: nat-pmp)  Timeout: 0s 250000us
08:24:21: (Libpurple: nat-pmp) Response received from NAT-PMP device:
08:24:21: (Libpurple: nat-pmp) version: 0
08:24:21: (Libpurple: nat-pmp) opcode: 128
08:24:21: (Libpurple: nat-pmp) resultcode: 0
08:24:21: (Libpurple: nat-pmp) epoch: 62940
08:24:21: (Libpurple: nat-pmp) address: 69.140.71.164
08:24:21: adiumPurpleCoreUiInit
08:24:21: adiumPurpleCore: purple_blist_load()...
08:24:21: (Libpurple: util) Reading file blist.xml from directory /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple
08:24:21: Created PurpleAccount 0x8e95340 with UID xxxxxx@gmail.com and protocolPlugin prpl-jabber
08:24:21: <AIPurpleGTalkAccount:3540e00 3>:xxxxxx@gmail.com: Updating status for key: User Icon
08:24:21: Original image of size 50.000000 50.000000
08:24:21: Image 8457 is larger than 8191!
08:24:21: (Libpurple: buddyicon) Wrote cache file: /Users/mlf/Library/Caches/Adium/Default/b10876c3e0aec92066ef6d0cac1593f274aebf7f.png
08:24:21: (Libpurple: prefs) /plugins/prpl/jabber/avoid_sasl_for_plain_and_digest_md5_auth changed, scheduling save.
08:24:21: Adium: Connect: xxxxxx@gmail.com initiating connection using status state <AIStatus: 351a590 [Available]> ((null)).
08:24:21: Warning; could not determine value of 0 for key priority, statusID available
08:24:21: Setting status on 8e95340 (xxxxxx@gmail.com/Adium): ID available, isActive 1, attributes {buzz = 1; priority = 0; }
08:24:21: (Libpurple: account) Connecting to account xxxxxx@gmail.com/Adium
08:24:21: (Libpurple: connection) Connecting. gc = 0x8e78850
08:24:21: Connecting: gc=0x8e78850 (Connecting) 1 / 5
08:24:21: (Libpurple: dns) DNS query for 'talk.google.com' queued
08:24:21: Called write with no write_tag (read_tag 5 write_tag 0) for 8e82280
08:24:21: ************ xxxxxx@gmail.com --step-- 1
08:24:21: Performing DNS resolve: talk.google.com:5222
08:24:21: DNS resolve complete for talk.google.com:5222
08:24:21: (Libpurple: dnsquery) IP resolved for talk.google.com
08:24:21: (Libpurple: proxy) Attempting connection to 209.85.163.125
08:24:21: (Libpurple: proxy) Connecting to talk.google.com:5222 with no proxy
08:24:21: (Libpurple: proxy) Connection in progress
08:24:22: Called write with no write_tag (read_tag 9 write_tag 0) for 8e82280
08:24:22: (Libpurple: proxy) Connected to talk.google.com:5222.
08:24:22: (Libpurple: jabber) Sending: <?xml version='1.0' ?>
08:24:22: Connecting: gc=0x8e78850 (Initializing Stream) 2 / 5
08:24:22: (Libpurple: jabber) Sending: <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
08:24:22: ************ xxxxxx@gmail.com --step-- 2
08:24:23: (Libpurple: jabber) Recv (386): <?xml version="1.0" encoding="UTF-8"?><stream:stream from="gmail.com" id="2297EBC25904B2E1" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
08:24:23: Connecting: gc=0x8e78850 (Authenticating) 3 / 5
08:24:23: (Libpurple: jabber) Sending: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
08:24:23: ************ xxxxxx@gmail.com --step-- 3
08:24:23: (Libpurple: jabber) Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
08:24:23: (Libpurple: cdsa) Connecting
08:24:23: Called write with no write_tag (read_tag 12 write_tag 0) for 8e649e0
08:24:24: (Libpurple: cdsa) Connecting
08:24:25: (Libpurple: cdsa) Connecting
08:24:25: (Libpurple: cdsa) SSL_connect: verifying certificate
08:24:25: (Libpurple: cdsa) SSL_connect complete
08:24:25: Connecting: gc=0x8e78850 (Initializing Stream) 5 / 9
08:24:25: (Libpurple: jabber) Sending (ssl): <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
08:24:25: Connecting: gc=0x8e78850 (Initializing SSL/TLS) 6 / 9
08:24:25: ************ xxxxxx@gmail.com --step-- 5
08:24:25: ************ xxxxxx@gmail.com --step-- 6
08:24:26: Called write with no write_tag (read_tag 13 write_tag 0) for 8e9fdf0
08:24:26: (Libpurple: util) Writing file prefs.xml to directory /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple
08:24:26: (Libpurple: util) Writing file /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple/prefs.xml
08:24:26: (Libpurple: util) Writing file accounts.xml to directory /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple
08:24:26: (Libpurple: util) Writing file /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple/accounts.xml
08:24:26: (Libpurple: util) Writing file blist.xml to directory /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple
08:24:26: (Libpurple: util) Writing file /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple/blist.xml
08:24:26: (Libpurple: jabber) Recv (ssl)(176): <?xml version="1.0" encoding="UTF-8"?><stream:stream from="gmail.com" id="4485CE18C9410432" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
08:24:26: Connecting: gc=0x8e78850 (Authenticating) 7 / 9
08:24:26: (Libpurple: jabber) Recv (ssl)(166): <stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
08:24:26: (Libpurple: jabber) avoiding sasl for plain/digest md5
08:24:26: (Libpurple: jabber) Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' xmlns:ga='http://www.google.com/talk/protocol/auth' ga:client-uses-full-bind-result='true' mechanism='PLAIN'>thesearenotthedroidsyourelookingfor</auth>
08:24:26: ************ xxxxxx@gmail.com --step-- 7
08:24:27: (Libpurple: jabber) Recv (ssl)(51): <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>

11/22/2007 12:39:29 PM changed by edr1084

My crash happens every time a gtalk account tries to connect.

Just before the crash:

02:12:13: (Libpurple: jabber) Recv (ssl)(51): <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
02:12:13: Connecting: gc=0xb964180 (Re-initializing Stream) 8 / 9
02:12:13: (Libpurple: jabber) Sending (ssl): <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>

11/22/2007 01:13:49 PM changed by evands

(In [21713]) Improved the sasl avoidance hack - set js->sasl_state to SASL_OK if we avoid sasl so it won't be "re"-attempted in jabber_auth_handle_success(). Might fix the 10.4 crash reported in #8113. Refs #8113.

(follow-up: ↓ 51 ) 11/22/2007 03:27:49 PM changed by edr1084

Still crashing, same errors. Also retried with a clean build, no difference.

11/22/2007 03:53:46 PM changed by evands

(In [21714]) Disable cyrus-sasl in libpurple temporarily. edr1084, are you still crashing? Refs #8113

(in reply to: ↑ 49 ) 11/22/2007 03:54:49 PM changed by evands

Um, weird. Didn't change the framework at all?

11/22/2007 04:55:44 PM changed by mlf

No joy in Mudville. virgin checkout deployment-debug r21714, 2.5, 10.4.11, crashes on connect attempt to Gtalk, same offset/logs each time. Only option i have set on the account settings is "do strict certificate checking"

Date/Time:      2007-11-22 16:50:39.040 -0500
OS Version:     10.4.11 (Build 8S2167)
Report Version: 4

Command: Adium
Path:    /Users/mlf/Applications/Adium.app/Contents/MacOS/Adium
Parent:  WindowServer [26741]

Version: 1.2svn (1.2svn)

PID:    13500
Thread: 0

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000006

Thread 0 Crashed:
0   libpurple                  	0x07f956d8 jabber_auth_handle_success + 374
1   libpurple                  	0x07fa280c jabber_process_packet + 785
2   libpurple                  	0x07fadc9a jabber_parser_element_end_libxml + 118
3   libxml2.2.dylib            	0x91bed7ff xmlParseChunk + 2268
4   libpurple                  	0x07fadde2 jabber_parser_process + 152
5   libpurple                  	0x07fa2f60 jabber_recv_cb_ssl + 160
6   libpurple                  	0x07f601ba recv_cb + 43
7   com.apple.CoreFoundation   	0x90842f4f __CFSocketDoCallback + 473
8   com.apple.CoreFoundation   	0x90842cc4 __CFSocketPerformV0 + 392
9   com.apple.CoreFoundation   	0x9082cf32 CFRunLoopRunSpecific + 1213
10  com.apple.CoreFoundation   	0x9082ca6e CFRunLoopRunInMode + 61
11  com.apple.HIToolbox        	0x92df4878 RunCurrentEventLoopInMode + 285
12  com.apple.HIToolbox        	0x92df3f82 ReceiveNextEventCommon + 385
13  com.apple.HIToolbox        	0x92df3dd9 BlockUntilNextEventMatchingListInMode + 81
14  com.apple.AppKit           	0x9327b485 _DPSNextEvent + 572
15  com.apple.AppKit           	0x9327b076 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 137
16  com.apple.AppKit           	0x93274dfb -[NSApplication run] + 512
17  com.apple.AppKit           	0x93268d4f NSApplicationMain + 573
18  com.adiumX.adiumX          	0x00002462 _start + 216
19  com.adiumX.adiumX          	0x00002389 start + 41
16:50:38: ************ xxxxxx@gmail.com --step-- 2
16:50:38: (Libpurple: jabber) Recv (386): <?xml version="1.0" encoding="UTF-8"?><stream:stream from="gmail.com" id="D07B4477D60A0D4F" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
16:50:38: Connecting: gc=0xac03c30 (Authenticating) 3 / 5
16:50:38: (Libpurple: jabber) Sending: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
16:50:38: ************ xxxxxx@gmail.com --step-- 3
16:50:38: (Libpurple: jabber) Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
16:50:38: (Libpurple: cdsa) Connecting
16:50:38: Called write with no write_tag (read_tag 9 write_tag 0) for 8e94520
16:50:38: (Libpurple: cdsa) Connecting
16:50:38: (Libpurple: cdsa) Connecting
16:50:38: (Libpurple: cdsa) SSL_connect: verifying certificate
16:50:38: (Libpurple: cdsa) SSL_connect complete
16:50:38: Connecting: gc=0xac03c30 (Initializing Stream) 5 / 9
16:50:38: (Libpurple: jabber) Sending (ssl): <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
16:50:38: Connecting: gc=0xac03c30 (Initializing SSL/TLS) 6 / 9
16:50:38: ************ xxxxxx@gmail.com --step-- 5
16:50:38: ************ xxxxxx@gmail.com --step-- 6
16:50:38: Called write with no write_tag (read_tag 10 write_tag 0) for ac1d420
16:50:38: (Libpurple: jabber) Recv (ssl)(176): <?xml version="1.0" encoding="UTF-8"?><stream:stream from="gmail.com" id="76A7B4062F3EB52B" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
16:50:38: Connecting: gc=0xac03c30 (Authenticating) 7 / 9
16:50:38: ************ xxxxxx@gmail.com --step-- 7
16:50:38: (Libpurple: jabber) Recv (ssl)(166): <stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
16:50:38: (Libpurple: jabber) avoiding sasl for plain/digest md5
16:50:38: (Libpurple: jabber) Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' xmlns:ga='http://www.google.com/talk/protocol/auth' ga:client-uses-full-bind-result='true' mechanism='PLAIN'>sweethomealabamawheretheskiesaresoblue</auth>
16:50:38: (Libpurple: jabber) Recv (ssl)(51): <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>

11/22/2007 08:49:53 PM changed by evands

And as Evan failed at bat, and libpurple did the same, a sickly silence fell upon the patrons of the game!

11/22/2007 10:32:57 PM changed by edr1084

Haven't had time for a clean build yet, but it still crashes with the cpu_capabilities.h:189 thing.

(follow-up: ↓ 57 ) 11/22/2007 10:40:38 PM changed by mlf

Are there 2 entirely different crashes happening here? It looks like EDR crashes at a different place than I do.

FWIW, I'm on an Intel platform (MBP, 2.4 C2D, 2 G, wireless connectivity). This might also explain why EDR could connect while mathuaerknedam and I couldn't, even when i ran his build. :-(

straws ... slipping out of hands ...

11/22/2007 10:58:19 PM changed by evands

(In [21716]) Framework to match [21714], actually disabling cyrus-sasl. Folks in #8113, do you still crash? Refs #8113.

(in reply to: ↑ 55 ) 11/22/2007 10:59:33 PM changed by evands

Replying to mlf:

Are there 2 entirely different crashes happening here? It looks like EDR crashes at a different place than I do.

Quite possibly. Yours is pretty clearly connected to cyrus-sasl; if that's the case [21716] should at least have you connecting. If it does, we'll re-enable cyrus-sasl and work from there, knowing that the problem is localized to a rather small block of code. edr's could be connected (the 're-authenticating' block which is his last purple debug logging is just after where you're crashing) or could be distinct.

11/23/2007 12:19:21 AM changed by edr1084

The monster... HE LIVES!!! (although interestingly enough, now I seem to be unable to connect to my adium account on andreas' server, however I'll give that some time in case his box is down for some reason...)

11/23/2007 01:29:26 AM changed by evands

(In [21719]) Re-enabled cyrus-sasl. If [21716] doesn't crash on 10.4 and this does, we know for sure that the cyrus-sasl code is responsible. Refs #8113.

(follow-up: ↓ 62 ) 11/23/2007 01:38:29 AM changed by evands

And if [21719] crashes, I'll debug log the heck out of jabber_auth_handle_success() and we'll figure out why it's crashing on a code path for you that if I force 10.5 to go down I still do fine.

11/23/2007 10:13:50 AM changed by boredzo

You know what's weird?

I'm on 10.4.10 and even r21289 doesn't crash for me. It just connects to GTalk without a problem.

I wonder what's different in my configuration, aside from maybe me being on 10.4.10 instead of 10.4.11.

(in reply to: ↑ 60 ) 11/23/2007 12:29:06 PM changed by mlf

Replying to evands:

And if [21719] crashes, I'll debug log the heck out of jabber_auth_handle_success() and we'll figure out why it's crashing on a code path for you that if I force 10.5 to go down I still do fine.

patient # r21716 checked himself out of the hospital and walked out under his own power, living a full and happy life. :-)

patient # r21719 full arrest as soon as he attempted his first step of physical therapy. :-( autopsy showed massive occlusion in same location as previous familial history.

11/27/2007 11:01:52 PM changed by evands

  • status changed from reopened to closed.
  • resolution set to fixed.

(In [21733]) Libpurple.framework with [21730]'s change. In my testing on a 10.4.10 PPC machine, this fixes #8113 for real, yo

11/27/2007 11:18:04 PM changed by mlf

fer shizzle!

yo, you da man evan!

thanks! :-) verified workee 10.4.11, 2.5 deployment-debug

11/27/2007 11:26:44 PM changed by edr1084

Hawt. Yeah, works here too.

12/24/2007 01:47:39 AM changed by evands

  • status changed from closed to reopened.
  • resolution deleted.

Broken in 1.2b4...

12/24/2007 01:54:06 AM changed by evands

...by an accidental change I made while debugging my local copy of libpurple which wasn't even included in the actual diffs applies against the im.pidgin.pidgin tree.

12/24/2007 02:49:34 AM changed by evands

  • status changed from reopened to closed.
  • resolution set to fixed.

(In [21990]) Libpurple.framework based on just im.pidgin.pidgin.2.3.1 with our patches applied, not other changes as I accidentally included in 1.2b4. Fixes #8113 (again)

12/28/2007 09:51:46 AM changed by mlf

  • status changed from closed to reopened.
  • resolution deleted.

It's back......

fails for builds at [22028] , [22048] . WORKS (connect no error) at [22024] . broken by [22025] , which was to fix #8680 ? :-(

xcode 2.5, osx 10.4.11 .

09:45:26: (Libpurple: util) Writing file accounts.xml to directory /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple
09:45:26: (Libpurple: util) Writing file /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple/accounts.xml
09:45:26: (Libpurple: util) Writing file blist.xml to directory /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple
09:45:26: (Libpurple: util) Writing file /Users/mlf/Library/Application Support/Adium 2.0/Users/Default/libpurple/blist.xml
09:45:26: <AIPurpleGTalkAccount:5eeb10 3>:xxxxxx@gmail.com: Updating status for key: User Icon
09:45:26: Original image of size 50.000000 50.000000
09:45:26: Image 8457 is larger than 8191!
09:45:26: (Libpurple: buddyicon) Wrote cache file: /Users/mlf/Library/Caches/Adium/Default/b10876c3e0aec92066ef6d0cac1593f274aebf7f.png
09:45:26: Adium: Connect: xxxxxx@gmail.com initiating connection using status state <AIStatus: 5e48e0 [Available]> ((null)).
09:45:26: Warning; could not determine value of 0 for key priority, statusID available
09:45:26: Setting status on 94a0040 (xxxxxx@gmail.com/Adium): ID available, isActive 1, attributes {buzz = 1; priority = 0; }
09:45:26: (Libpurple: account) Connecting to account xxxxxx@gmail.com/Adium
09:45:26: (Libpurple: connection) Connecting. gc = 0x520e10
09:45:26: Connecting: gc=0x520e10 (Connecting) 1 / 5
09:45:26: (Libpurple: dns) DNS query for 'talk.google.com' queued
09:45:26: <AIPurpleGTalkAccount:5eeb10 3>:xxxxxx@gmail.com: Updating status for key: Online
09:45:26: ************ xxxxxx@gmail.com --step-- 1
09:45:26: Performing DNS resolve: talk.google.com:5222
09:45:27: DNS resolve complete for talk.google.com:5222
09:45:27: (Libpurple: dnsquery) IP resolved for talk.google.com
09:45:27: (Libpurple: proxy) Attempting connection to 216.239.51.125
09:45:27: (Libpurple: proxy) Connecting to talk.google.com:5222 with no proxy
09:45:27: (Libpurple: proxy) Connection in progress
09:45:27: (Libpurple: proxy) Connected to talk.google.com:5222.
09:45:27: (Libpurple: jabber) Sending: <?xml version='1.0' ?>
09:45:27: Connecting: gc=0x520e10 (Initializing Stream) 2 / 5
09:45:27: (Libpurple: jabber) Sending: <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
09:45:27: ************ xxxxxx@gmail.com --step-- 2
09:45:27: (Libpurple: jabber) Recv (386): <?xml version="1.0" encoding="UTF-8"?><stream:stream from="gmail.com" id="B4F2E25A022C01FE" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
09:45:27: Connecting: gc=0x520e10 (Authenticating) 3 / 5
09:45:27: (Libpurple: jabber) Sending: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
09:45:27: ************ xxxxxx@gmail.com --step-- 3
09:45:27: (Libpurple: jabber) Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
09:45:27: (Libpurple: cdsa) Connecting
09:45:27: Called write with no write_tag (read_tag 36 write_tag 0) for 942b450
09:45:27: (Libpurple: cdsa) Connecting
09:45:27: (Libpurple: cdsa) Connecting
09:45:27: (Libpurple: cdsa) SSL_connect: verifying certificate
09:45:27: (Libpurple: cdsa) SSL_connect complete
09:45:27: Connecting: gc=0x520e10 (Initializing Stream) 5 / 9
09:45:27: (Libpurple: jabber) XML parser error for JabberStream 0x80b9560: Domain 1, code 5, level 3: Extra content at the end of the document

09:45:27: (Libpurple: jabber) Sending (ssl): <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
09:45:27: (Libpurple: cdsa) SSLWrite(0x3874000, 0xb201ef0 114)
09:45:27: Connecting: gc=0x520e10 (Initializing SSL/TLS) 6 / 9
09:45:27: ************ xxxxxx@gmail.com --step-- 5
09:45:27: ************ xxxxxx@gmail.com --step-- 6
09:45:27: Called write with no write_tag (read_tag 37 write_tag 0) for 94c99a0
09:45:27: (Libpurple: jabber) Recv (ssl)(176): <?xml version="1.0" encoding="UTF-8"?><stream:stream from="gmail.com" id="6F2FF261489A8919" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
09:45:27: Connecting: gc=0x520e10 (Authenticating) 7 / 9
09:45:27: (Libpurple: jabber) Recv (ssl)(166): <stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
09:45:27: (Libpurple: sasl) Mechs found: PLAIN X-GOOGLE-TOKEN 
09:45:27: (Libpurple: jabber) Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>andshe'sbuyingastairwaytoheaven</auth>
09:45:27: (Libpurple: cdsa) SSLWrite(0x3874000, 0x94bc2c0 120)
09:45:27: ************ xxxxxx@gmail.com --step-- 7
09:45:27: (Libpurple: jabber) Recv (ssl)(78): <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><invalid-authzid/></failure>
09:45:27: Connection Disconnected: gc=520e10 (Invalid authzid)
09:45:27: <AIPurpleGTalkAccount:5eeb10 3>:xxxxxx@gmail.com accountConnectionReportDisconnect: Invalid authzid
09:45:27: (Libpurple: jabber) Recv (ssl)(16): </stream:stream>
09:45:27: (Libpurple: cdsa) receive failed (-9805): Unknown error: 0
09:45:27: (Libpurple: cdsa) receive failed (-9805): Unknown error: 0
09:45:27: (Libpurple: cdsa) receive failed (-9805): Unknown error: 0
09:45:27: (Libpurple: account) Disconnecting account 0x94a0040
09:45:27: (Libpurple: connection) Disconnecting connection 0x520e10
09:45:27: (Libpurple: cdsa) Closing PurpleSslConnection 0x94ad540
09:45:27: (Libpurple: cdsa) SSLDisposeContext(0x3874000)
09:45:27: Disconnected: gc=520e10
09:45:27: <AIPurpleGTalkAccount:5eeb10 3>:xxxxxx@gmail.com: Telling the core we disconnected
09:45:27: <AIPurpleGTalkAccount:5eeb10 3>:xxxxxx@gmail.com: Disconnected ("Invalid authzid"): Automatically reconnecting in 5.359375 seconds (3 attempts performed)
09:45:27: (Libpurple: connection) Destroying connection 0x520e10

12/28/2007 10:41:28 AM changed by biglittledragoon

12/28/2007 02:03:06 PM changed by mlf

Permission to close - WORKS now in [22054]

Thanks Evan - You're The Best!

12/28/2007 02:19:07 PM changed by evands

  • status changed from reopened to closed.
  • resolution set to fixed.

Thanks :D