3

After a fresh install of Ubuntu 11.10, Pidgin stopped connecting to any Jabber service (Google Talk and a local IM). The weird thing is, the same configuration works on a laptop with Ubuntu 11.10, but not on a workstation. The .purple directory has been copied from laptop to workstation, and it still doesn't work. When running piding -d > pidgin.log, following is observed:

(16:06:25) account: Connecting to account foo@gmail.com/.
(16:06:25) connection: Connecting. gc = 0x7f38e3828ea0
(16:06:25) dnssrv: querying SRV record for gmail.com: _xmpp-client._tcp.gmail.com
(16:06:25) dnssrv: found 5 SRV entries
(16:06:25) dnsquery: Performing DNS lookup for xmpp.l.google.com
(16:06:25) dns: Wait for DNS child 11596 failed: No child processes
(16:06:25) dns: Created new DNS child 11867, there are now 1 children.
(16:06:25) dns: Successfully sent DNS request to child 11867
(16:06:25) dns: Got response for 'xmpp.l.google.com'
(16:06:25) dnsquery: IP resolved for xmpp.l.google.com
(16:06:25) proxy: Attempting connection to 173.194.70.125
(16:06:25) proxy: Connecting to xmpp.l.google.com:5222 with no proxy
(16:06:25) proxy: Connection in progress
(16:06:25) proxy: Connecting to xmpp.l.google.com:5222.
(16:06:25) proxy: Connected to xmpp.l.google.com:5222.
(16:06:25) jabber: Sending (foo@gmail.com): <?xml version='1.0' ?>
(16:06:25) jabber: Sending (foo@gmail.com): <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
(16:06:25) jabber: Recv (379): <stream:stream from="gmail.com" id="49198E875F30F7D0" 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><mechanism>X-OAUTH2</mechanism></mechanisms></stream:features>
(16:06:25) jabber: Sending (foo@gmail.com): <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
(16:06:25) jabber: Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
(16:06:25) nss: subject=CN=gmail.com,O=Google Inc.,L=Mountain View,ST=California,C=US issuer=CN=Google Internet Authority,O=Google Inc,C=US
(16:06:25) nss: subject=CN=Google Internet Authority,O=Google Inc,C=US issuer=OU=Equifax Secure Certificate Authority,O=Equifax,C=US
(16:06:25) nss: subject=OU=Equifax Secure Certificate Authority,O=Equifax,C=US issuer=OU=Equifax Secure Certificate Authority,O=Equifax,C=US
(16:06:25) certificate/x509/tls_cached: Starting verify for gmail.com
(16:06:25) certificate/x509/tls_cached: Checking for cached cert...
(16:06:25) certificate/x509/tls_cached: ...Found cached cert
(16:06:25) nss/x509: Loading certificate from /home/david/.purple/certificates/x509/tls_peers/gmail.com
(16:06:25) certificate/x509/tls_cached: Peer cert matched cached
(16:06:25) nss/x509: Exporting certificate to /home/david/.purple/certificates/x509/tls_peers/gmail.com
(16:06:25) util: Writing file /home/david/.purple/certificates/x509/tls_peers/gmail.com
(16:06:25) certificate: Successfully verified certificate for gmail.com
(16:06:25) jabber: Sending (ssl) (foo@gmail.com): <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
(16:06:25) jabber: Recv (ssl)(138): <stream:stream from="gmail.com" id="F6FD74872873A647" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
(16:06:25) jabber: Recv (ssl)(197): <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>
(16:06:25) sasl: sasl_state is -1, failing the mech and trying again
(16:06:25) connection: Connection error on 0x7f38e3828ea0 (reason: 3 description: Server does not use any supported authentication method)
(16:06:25) account: Disconnecting account foo@gmail.com/ (0x7f38e2ca5b50)
(16:06:25) connection: Disconnecting connection 0x7f38e3828ea0
(16:06:25) jabber: Sending (ssl) (foo@gmail.com): </stream:stream>
(16:06:25) connection: Destroying connection 0x7f38e3828ea0

As you can see, certificate seems to be valid, the problematic one is:

sasl: sasl_state is -1, failing the mech and trying again

There is no firewall enabled, so there has to be something else. Any ideas?

user4124
  • 9,241

4 Answers4

9

For some reason, /etc/hosts contained wrong hostname for 127.0.0.1. After modifying it, it started working. Hope helps someone as well :)

3

Check hostname of your system in /etc/hostname. Then modify it in /etc/hosts file. This will solve your problem :-)

1

I had the same problem in Ubuntu 12.04. When I saw the previous comment, I checked /etc/hosts and it was blank. So, I added the following:

127.0.0.1 localhost  
127.0.1.1 ubuntu  

This is how it looks like now:

root@ubuntu:/etc/apt/apt.conf.d# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu

And then

root@ubuntu:/etc/apt/apt.conf.d# /etc/init.d/networking restart  
 * Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
 * Reconfiguring network interfaces...   

Quit Pidgin and open it again. Voila it works like charm now. Hopefully it will help others too.

jokerdino
  • 41,732
akash
  • 11
0

I had the same issue. It turned out I had enabled 2-step verification on my Google account. I simply went to my application-specific password settings (in Google) and revoked access to Pidgin. Then I added Pidgin back and generated a new application-specific password, entered it into my Google Talk account settings in Pidgin, now all works as it should.

Jim
  • 1