[Pidgin] #2186: DIGEST-MD5 via sasl broken in pidgin-2.0.1+; works without sasl

Pidgin trac at pidgin.im
Thu Oct 18 14:18:29 EDT 2007


#2186: DIGEST-MD5 via sasl broken in pidgin-2.0.1+; works without sasl
------------------------+---------------------------------------------------
  Reporter:  ade        |       Owner:       
      Type:  defect     |      Status:  new  
  Priority:  minor      |   Milestone:       
 Component:  libpurple  |     Version:  2.0.1
Resolution:             |    Keywords:       
   Pending:  0          |  
------------------------+---------------------------------------------------
Changes (by evands):

  * summary:  sasl not seeing algorithm in pidgin-2.0.1+ but does with
              gaim-2.0.0 => DIGEST-MD5 via sasl broken in
              pidgin-2.0.1+; works without sasl

Old description:

> hi,
>
> Looking at my debug logs there seems to be a problem with sasl not
> getting the algorithms it is expecting.
>
> gaim is from stable debian (gaim-2.0.0-beta5)
> pidgin from unstable debian (log is from 2.0.1, but 2.0.2 gives the same)
>
> from pidgin 2.0.1
> {{{
> Pidgin Debug Log : Mon 09 Jul 2007 14:34:16 BST
> (14:33:41) prefs: /pidgin/debug/width changed, scheduling save.
> (14:33:46) util: Writing file prefs.xml to directory /home/adavey/.purple
> (14:33:50) prefs: /purple/savedstatus/default changed, scheduling save.
> (14:33:50) account: Connecting to account ade at jabber.ex.ac.uk/Gaim
> (14:33:50) connection: Connecting. gc = 0x869aca8
> (14:33:50) dnssrv: querying SRV record for _xmpp-
> client._tcp.jabber.ex.ac.uk
> (14:33:50) dnssrv: found 0 SRV entries
> (14:33:50) dns: DNS query for 'jabber.ex.ac.uk' queued
> (14:33:50) dns: Created new DNS child 12628, there are now 1 children.
> (14:33:50) dns: Successfully sent DNS request to child 12628
> (14:33:50) dns: Got response for 'jabber.ex.ac.uk'
> (14:33:50) dnsquery: IP resolved for jabber.ex.ac.uk
> (14:33:50) proxy: Attempting connection to 144.173.6.104
> (14:33:50) proxy: Connecting to jabber.ex.ac.uk:5222 with no proxy
> (14:33:50) proxy: Connection in progress
> (14:33:51) proxy: Connected to jabber.ex.ac.uk:5222.
> (14:33:51) jabber: Sending: <?xml version='1.0' ?>
> (14:33:51) jabber: Sending: <stream:stream to='jabber.ex.ac.uk'
> xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
> version='1.0'>
> (14:33:51) jabber: Recv (642): <?xml version='1.0'
> encoding='UTF-8'?><stream:stream
> xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
> from="jabber.ex.ac.uk" id="5eb1f720" xml:lang="en"
> version="1.0"><stream:features><starttls xmlns="urn:ietf:params:xml:ns
> :xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-
> sasl"><mechanism>PLAIN</mechanism><mechanism>CRAM-
> MD5</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms><compression
> xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth
> xmlns="http://jabber.org/features/iq-auth"/><register
> xmlns="http://jabber.org/features/iq-register"/></stream:features>
> (14:33:51) jabber: Sending: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-
> tls'/>
> (14:33:51) jabber: Recv (50): <proceed xmlns="urn:ietf:params:xml:ns
> :xmpp-tls"/>
> (14:33:51) jabber: Sending (ssl): <stream:stream to='jabber.ex.ac.uk'
> xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
> version='1.0'>
> (14:33:51) jabber: Recv (ssl)(581): <?xml version='1.0'
> encoding='UTF-8'?><stream:stream
> xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
> from="jabber.ex.ac.uk" id="5eb1f720" xml:lang="en"
> version="1.0"><stream:features><mechanisms xmlns="urn:ietf:params:xml:ns
> :xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>CRAM-
> MD5</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms><compression
> xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth
> xmlns="http://jabber.org/features/iq-auth"/><register
> xmlns="http://jabber.org/features/iq-register"/></stream:features>
> (14:33:51) sasl: Mechs found: PLAIN CRAM-MD5 DIGEST-MD5
> (14:33:51) jabber: Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns
> :xmpp-sasl' mechanism='DIGEST-MD5'/>
> (14:33:51) jabber: Recv (ssl)(224): <challenge
> xmlns="urn:ietf:params:xml:ns:xmpp-
> sasl">cmVhbG09ImphYmJlci5leC5hYy51ayIsbm9uY2U9Iktlb2RmVGdvM3IrYzZFR1N0cWpPem9CV2trS0tydUZrZjNEWWVYelAiLHFvcD0iYXV0aCIsY2hhcnNldD0idXRmLTgiLGFsZ29yaXRobT0ibWQ1LXNlc3Mi</challenge>
> (14:33:51) sasl: DIGEST-MD5 client step 2
> (14:33:51) jabber: Sending (ssl): <response xmlns='urn:ietf:params:xml:ns
> :xmpp-
> sasl'>dXNlcm5hbWU9ImFkZSIscmVhbG09ImphYmJlci5leC5hYy51ayIsbm9uY2U9Iktlb2RmVGdvM3IrYzZFR1N0cWpPem9CV2trS0tydUZrZjNEWWVYelAiLGNub25jZT0iRWJjKyt6WVlzbmRELzIvNWRibEVoR1JOUE1EZ3A3ZDB6dzJpL1pORVk3az0iLG5jPTAwMDAwMDAxLHFvcD1hdXRoLGRpZ2VzdC11cmk9InhtcHAvamFiYmVyLmV4LmFjLnVrIixyZXNwb25zZT1jNmIwODk1MzhhMzg5MzliMjUwYmVlMGIwNWQyNGE3Mg==</response>
> (14:33:51) jabber: Recv (ssl)(70): <success xmlns="urn:ietf:params:xml:ns
> :xmpp-sasl">[B at 113ddac</success>
> (14:33:51) sasl: DIGEST-MD5 client step 2
> (14:33:51) sasl: Must see 'algorithm' once. Didn't see at all
> (14:33:51) jabber: Sending (ssl): <stream:stream to='jabber.ex.ac.uk'
> xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
> version='1.0'>
> (14:33:51) account: Disconnecting account 0x8142790
> (14:33:51) connection: Disconnecting connection 0x869aca8
> (14:33:51) connection: Destroying connection 0x869aca8
>

> and from gaim
>
> Gaim Debug Log : Mon 09 Jul 2007 14:30:47 BST
> account: Connecting to account ade at jabber.ex.ac.uk/Gaim
> connection: Connecting. gc = 0x8340398
> dnssrv: querying SRV record for _xmpp-client._tcp.jabber.ex.ac.uk
> prefs: /core/savedstatus/default changed, scheduling save.
> dnssrv: found 0 SRV entries
> dns: DNS query for 'jabber.ex.ac.uk' queued
> dns: Created new DNS child 22004, there are now 1 children.
> dns: Successfully sent DNS request to child 22004
> dns: Got response for 'jabber.ex.ac.uk'
> dnsquery: IP resolved for jabber.ex.ac.uk
> proxy: Attempting connection to 144.173.6.104
> proxy: Connecting to jabber.ex.ac.uk:5222 with no proxy
> proxy: Connection in progress
> proxy: Connected.
> jabber: Sending: <?xml version='1.0' ?>
> jabber: Sending: <stream:stream to='jabber.ex.ac.uk'
> xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
> version='1.0'>
> jabber: Recv (642): <?xml version='1.0' encoding='UTF-8'?><stream:stream
> xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
> from="jabber.ex.ac.uk" id="ab22361a" xml:lang="en"
> version="1.0"><stream:features><starttls xmlns="urn:ietf:params:xml:ns
> :xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-
> sasl"><mechanism>PLAIN</mechanism><mechanism>CRAM-
> MD5</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms><compression
> xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth
> xmlns="http://jabber.org/features/iq-auth"/><register
> xmlns="http://jabber.org/features/iq-register"/></stream:features>
> jabber: Sending: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
> jabber: Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
> jabber: Sending (ssl): <stream:stream to='jabber.ex.ac.uk'
> xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
> version='1.0'>
> jabber: Recv (ssl)(581): <?xml version='1.0'
> encoding='UTF-8'?><stream:stream
> xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
> from="jabber.ex.ac.uk" id="ab22361a" xml:lang="en"
> version="1.0"><stream:features><mechanisms xmlns="urn:ietf:params:xml:ns
> :xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>CRAM-
> MD5</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms><compression
> xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth
> xmlns="http://jabber.org/features/iq-auth"/><register
> xmlns="http://jabber.org/features/iq-register"/></stream:features>
> jabber: Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl'
> mechanism='DIGEST-MD5'/>
> jabber: Recv (ssl)(224): <challenge xmlns="urn:ietf:params:xml:ns:xmpp-
> sasl">cmVhbG09ImphYmJlci5leC5hYy51ayIsbm9uY2U9IjRvT0IwS0xOUlpoNkNpYUZaeG5DTHhIeXEwb0hBbk5qU1BSMzIxMDkiLHFvcD0iYXV0aCIsY2hhcnNldD0idXRmLTgiLGFsZ29yaXRobT0ibWQ1LXNlc3Mi</challenge>
> jabber: decoded challenge (120):
> realm="jabber.ex.ac.uk",nonce="4oOB0KLNRZh6CiaFZxnCLxHyq0oHAnNjSPR32109",qop="auth",charset="utf-8",algorithm="md5-sess"
> jabber: decoded response (234):
> username="ade",realm="jabber.ex.ac.uk",nonce="4oOB0KLNRZh6CiaFZxnCLxHyq0oHAnNjSPR32109",cnonce="fa6156891183987831a6663ead",nc=00000001,qop=auth
> ,digest-
> uri="xmpp/jabber.ex.ac.uk",response=0248c7a392af345665ae5dd56f61cb80,charset=utf-8
> jabber: Sending (ssl): <response xmlns='urn:ietf:params:xml:ns:xmpp-
> sasl'>dXNlcm5hbWU9ImFkZSIscmVhbG09ImphYmJlci5leC5hYy51ayIsbm9uY2U9IjRvT0IwS0xOUlpoNkNpYUZaeG5DTHhIeXEwb0hBbk5qU1BSMzIxMDkiLGNub25jZT0iZmE2MTU2ODkxMTgzOTg3ODMxYTY2NjNlYWQiLG5jPTAwMDAwMDAxLHFvcD1hdXRoLGRpZ2VzdC11cmk9InhtcHAvamFiYmVyLmV4LmFjLnVrIixyZXNwb25zZT0wMjQ4YzdhMzkyYWYzNDU2NjVhZTVkZDU2ZjYxY2I4MCxjaGFyc2V0PXV0Zi04</response>
> jabber: Recv (ssl)(69): <success xmlns="urn:ietf:params:xml:ns:xmpp-
> sasl">[B at f522d2</success>
> jabber: Sending (ssl): <stream:stream to='jabber.ex.ac.uk'
> xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
> version='1.0'>
> jabber: Recv (ssl)(417): <?xml version='1.0'
> encoding='UTF-8'?><stream:stream
> xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
> from="jabber.ex.ac.uk" id="ab22361a" xml:lang="en"
> version="1.0"><stream:features><compression
> xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><bind
> xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session
> xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
> jabber: Sending (ssl): <iq type='set' id='gaim5e3dbdb9'><bind
> xmlns='urn:ietf:params:xml:ns:xmpp-
> bind'><resource>Gaim</resource></bind></iq>
> jabber: Recv (ssl)(160): <iq type="result" id="gaim5e3dbdb9"
> to="jabber.ex.ac.uk/ab22361a"><bind xmlns="urn:ietf:params:xml:ns:xmpp-
> bind"><jid>ade at jabber.ex.ac.uk/Gaim</jid></bind></iq>
> jabber: Sending (ssl): <iq type='set' id='gaim5e3dbdba'><session
> xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq>
> jabber: Recv (ssl)(125): <iq type="result" id="gaim5e3dbdba"
> to="ade at jabber.ex.ac.uk/Gaim"><session xmlns="urn:ietf:params:xml:ns
> :xmpp-session"/></iq>
> jabber: Sending (ssl): <iq type='get' id='gaim5e3dbdbb'><query
> xmlns='jabber:iq:roster'/></iq>
> jabber: Sending (ssl): <presence><priority>1</priority><c
> xmlns='http://jabber.org/protocol/caps' node='http://gaim.sf.net/caps'
> ver='2.0.0beta5'/></presence>
> connection: Activating keepalive.
> }}}
> so pidgin just reports to the user that the server gave an invalid
> response.  CLearly the server is working correctly for Gaim.
> I also tested Psi and centericq, both connected to the server correctly.
>
> Any advice on this problem?

New description:

 hi,

 Looking at my debug logs there seems to be a problem with sasl not getting
 the algorithms it is expecting.

 gaim is from stable debian (gaim-2.0.0-beta5) [no cyrus-sasl support]
 pidgin from unstable debian (log is from 2.0.1, but 2.0.2 gives the same)
 [cyrus-sasl support]

 from pidgin 2.0.1 (''broken'')
 {{{
 Pidgin Debug Log : Mon 09 Jul 2007 14:34:16 BST
 (14:33:41) prefs: /pidgin/debug/width changed, scheduling save.
 (14:33:46) util: Writing file prefs.xml to directory /home/adavey/.purple
 (14:33:50) prefs: /purple/savedstatus/default changed, scheduling save.
 (14:33:50) account: Connecting to account ade at jabber.ex.ac.uk/Gaim
 (14:33:50) connection: Connecting. gc = 0x869aca8
 (14:33:50) dnssrv: querying SRV record for _xmpp-
 client._tcp.jabber.ex.ac.uk
 (14:33:50) dnssrv: found 0 SRV entries
 (14:33:50) dns: DNS query for 'jabber.ex.ac.uk' queued
 (14:33:50) dns: Created new DNS child 12628, there are now 1 children.
 (14:33:50) dns: Successfully sent DNS request to child 12628
 (14:33:50) dns: Got response for 'jabber.ex.ac.uk'
 (14:33:50) dnsquery: IP resolved for jabber.ex.ac.uk
 (14:33:50) proxy: Attempting connection to 144.173.6.104
 (14:33:50) proxy: Connecting to jabber.ex.ac.uk:5222 with no proxy
 (14:33:50) proxy: Connection in progress
 (14:33:51) proxy: Connected to jabber.ex.ac.uk:5222.
 (14:33:51) jabber: Sending: <?xml version='1.0' ?>
 (14:33:51) jabber: Sending: <stream:stream to='jabber.ex.ac.uk'
 xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
 version='1.0'>
 (14:33:51) jabber: Recv (642): <?xml version='1.0'
 encoding='UTF-8'?><stream:stream
 xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
 from="jabber.ex.ac.uk" id="5eb1f720" xml:lang="en"
 version="1.0"><stream:features><starttls xmlns="urn:ietf:params:xml:ns
 :xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-
 sasl"><mechanism>PLAIN</mechanism><mechanism>CRAM-
 MD5</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms><compression
 xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth
 xmlns="http://jabber.org/features/iq-auth"/><register
 xmlns="http://jabber.org/features/iq-register"/></stream:features>
 (14:33:51) jabber: Sending: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-
 tls'/>
 (14:33:51) jabber: Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-
 tls"/>
 (14:33:51) jabber: Sending (ssl): <stream:stream to='jabber.ex.ac.uk'
 xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
 version='1.0'>
 (14:33:51) jabber: Recv (ssl)(581): <?xml version='1.0'
 encoding='UTF-8'?><stream:stream
 xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
 from="jabber.ex.ac.uk" id="5eb1f720" xml:lang="en"
 version="1.0"><stream:features><mechanisms xmlns="urn:ietf:params:xml:ns
 :xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>CRAM-
 MD5</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms><compression
 xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth
 xmlns="http://jabber.org/features/iq-auth"/><register
 xmlns="http://jabber.org/features/iq-register"/></stream:features>
 (14:33:51) sasl: Mechs found: PLAIN CRAM-MD5 DIGEST-MD5
 (14:33:51) jabber: Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns
 :xmpp-sasl' mechanism='DIGEST-MD5'/>
 (14:33:51) jabber: Recv (ssl)(224): <challenge
 xmlns="urn:ietf:params:xml:ns:xmpp-
 sasl">cmVhbG09ImphYmJlci5leC5hYy51ayIsbm9uY2U9Iktlb2RmVGdvM3IrYzZFR1N0cWpPem9CV2trS0tydUZrZjNEWWVYelAiLHFvcD0iYXV0aCIsY2hhcnNldD0idXRmLTgiLGFsZ29yaXRobT0ibWQ1LXNlc3Mi</challenge>
 (14:33:51) sasl: DIGEST-MD5 client step 2
 (14:33:51) jabber: Sending (ssl): <response xmlns='urn:ietf:params:xml:ns
 :xmpp-
 sasl'>dXNlcm5hbWU9ImFkZSIscmVhbG09ImphYmJlci5leC5hYy51ayIsbm9uY2U9Iktlb2RmVGdvM3IrYzZFR1N0cWpPem9CV2trS0tydUZrZjNEWWVYelAiLGNub25jZT0iRWJjKyt6WVlzbmRELzIvNWRibEVoR1JOUE1EZ3A3ZDB6dzJpL1pORVk3az0iLG5jPTAwMDAwMDAxLHFvcD1hdXRoLGRpZ2VzdC11cmk9InhtcHAvamFiYmVyLmV4LmFjLnVrIixyZXNwb25zZT1jNmIwODk1MzhhMzg5MzliMjUwYmVlMGIwNWQyNGE3Mg==</response>
 (14:33:51) jabber: Recv (ssl)(70): <success xmlns="urn:ietf:params:xml:ns
 :xmpp-sasl">[B at 113ddac</success>
 (14:33:51) sasl: DIGEST-MD5 client step 2
 (14:33:51) sasl: Must see 'algorithm' once. Didn't see at all
 (14:33:51) jabber: Sending (ssl): <stream:stream to='jabber.ex.ac.uk'
 xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
 version='1.0'>
 (14:33:51) account: Disconnecting account 0x8142790
 (14:33:51) connection: Disconnecting connection 0x869aca8
 (14:33:51) connection: Destroying connection 0x869aca8


 and from gaim (''working'')

 Gaim Debug Log : Mon 09 Jul 2007 14:30:47 BST
 account: Connecting to account ade at jabber.ex.ac.uk/Gaim
 connection: Connecting. gc = 0x8340398
 dnssrv: querying SRV record for _xmpp-client._tcp.jabber.ex.ac.uk
 prefs: /core/savedstatus/default changed, scheduling save.
 dnssrv: found 0 SRV entries
 dns: DNS query for 'jabber.ex.ac.uk' queued
 dns: Created new DNS child 22004, there are now 1 children.
 dns: Successfully sent DNS request to child 22004
 dns: Got response for 'jabber.ex.ac.uk'
 dnsquery: IP resolved for jabber.ex.ac.uk
 proxy: Attempting connection to 144.173.6.104
 proxy: Connecting to jabber.ex.ac.uk:5222 with no proxy
 proxy: Connection in progress
 proxy: Connected.
 jabber: Sending: <?xml version='1.0' ?>
 jabber: Sending: <stream:stream to='jabber.ex.ac.uk' xmlns='jabber:client'
 xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
 jabber: Recv (642): <?xml version='1.0' encoding='UTF-8'?><stream:stream
 xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
 from="jabber.ex.ac.uk" id="ab22361a" xml:lang="en"
 version="1.0"><stream:features><starttls xmlns="urn:ietf:params:xml:ns
 :xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-
 sasl"><mechanism>PLAIN</mechanism><mechanism>CRAM-
 MD5</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms><compression
 xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth
 xmlns="http://jabber.org/features/iq-auth"/><register
 xmlns="http://jabber.org/features/iq-register"/></stream:features>
 jabber: Sending: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
 jabber: Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
 jabber: Sending (ssl): <stream:stream to='jabber.ex.ac.uk'
 xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
 version='1.0'>
 jabber: Recv (ssl)(581): <?xml version='1.0'
 encoding='UTF-8'?><stream:stream
 xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
 from="jabber.ex.ac.uk" id="ab22361a" xml:lang="en"
 version="1.0"><stream:features><mechanisms xmlns="urn:ietf:params:xml:ns
 :xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>CRAM-
 MD5</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms><compression
 xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth
 xmlns="http://jabber.org/features/iq-auth"/><register
 xmlns="http://jabber.org/features/iq-register"/></stream:features>
 jabber: Sending (ssl): <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl'
 mechanism='DIGEST-MD5'/>
 jabber: Recv (ssl)(224): <challenge xmlns="urn:ietf:params:xml:ns:xmpp-
 sasl">cmVhbG09ImphYmJlci5leC5hYy51ayIsbm9uY2U9IjRvT0IwS0xOUlpoNkNpYUZaeG5DTHhIeXEwb0hBbk5qU1BSMzIxMDkiLHFvcD0iYXV0aCIsY2hhcnNldD0idXRmLTgiLGFsZ29yaXRobT0ibWQ1LXNlc3Mi</challenge>
 jabber: decoded challenge (120):
 realm="jabber.ex.ac.uk",nonce="4oOB0KLNRZh6CiaFZxnCLxHyq0oHAnNjSPR32109",qop="auth",charset="utf-8",algorithm="md5-sess"
 jabber: decoded response (234):
 username="ade",realm="jabber.ex.ac.uk",nonce="4oOB0KLNRZh6CiaFZxnCLxHyq0oHAnNjSPR32109",cnonce="fa6156891183987831a6663ead",nc=00000001,qop=auth
 ,digest-
 uri="xmpp/jabber.ex.ac.uk",response=0248c7a392af345665ae5dd56f61cb80,charset=utf-8
 jabber: Sending (ssl): <response xmlns='urn:ietf:params:xml:ns:xmpp-
 sasl'>dXNlcm5hbWU9ImFkZSIscmVhbG09ImphYmJlci5leC5hYy51ayIsbm9uY2U9IjRvT0IwS0xOUlpoNkNpYUZaeG5DTHhIeXEwb0hBbk5qU1BSMzIxMDkiLGNub25jZT0iZmE2MTU2ODkxMTgzOTg3ODMxYTY2NjNlYWQiLG5jPTAwMDAwMDAxLHFvcD1hdXRoLGRpZ2VzdC11cmk9InhtcHAvamFiYmVyLmV4LmFjLnVrIixyZXNwb25zZT0wMjQ4YzdhMzkyYWYzNDU2NjVhZTVkZDU2ZjYxY2I4MCxjaGFyc2V0PXV0Zi04</response>
 jabber: Recv (ssl)(69): <success xmlns="urn:ietf:params:xml:ns:xmpp-
 sasl">[B at f522d2</success>
 jabber: Sending (ssl): <stream:stream to='jabber.ex.ac.uk'
 xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
 version='1.0'>
 jabber: Recv (ssl)(417): <?xml version='1.0'
 encoding='UTF-8'?><stream:stream
 xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"
 from="jabber.ex.ac.uk" id="ab22361a" xml:lang="en"
 version="1.0"><stream:features><compression
 xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><bind
 xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session
 xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
 jabber: Sending (ssl): <iq type='set' id='gaim5e3dbdb9'><bind
 xmlns='urn:ietf:params:xml:ns:xmpp-
 bind'><resource>Gaim</resource></bind></iq>
 jabber: Recv (ssl)(160): <iq type="result" id="gaim5e3dbdb9"
 to="jabber.ex.ac.uk/ab22361a"><bind xmlns="urn:ietf:params:xml:ns:xmpp-
 bind"><jid>ade at jabber.ex.ac.uk/Gaim</jid></bind></iq>
 jabber: Sending (ssl): <iq type='set' id='gaim5e3dbdba'><session
 xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq>
 jabber: Recv (ssl)(125): <iq type="result" id="gaim5e3dbdba"
 to="ade at jabber.ex.ac.uk/Gaim"><session xmlns="urn:ietf:params:xml:ns:xmpp-
 session"/></iq>
 jabber: Sending (ssl): <iq type='get' id='gaim5e3dbdbb'><query
 xmlns='jabber:iq:roster'/></iq>
 jabber: Sending (ssl): <presence><priority>1</priority><c
 xmlns='http://jabber.org/protocol/caps' node='http://gaim.sf.net/caps'
 ver='2.0.0beta5'/></presence>
 connection: Activating keepalive.
 }}}
 so pidgin just reports to the user that the server gave an invalid
 response.  CLearly the server is working correctly for Gaim.
 I also tested Psi and centericq, both connected to the server correctly.

 Any advice on this problem?

-- 
Ticket URL: <http://developer.pidgin.im/ticket/2186#comment:8>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list