[Pidgin] #9984: Google STUN lookup fails when using SOCKS 5 proxy

Pidgin trac at pidgin.im
Fri Aug 21 07:47:14 EDT 2009


#9984: Google STUN lookup fails when using SOCKS 5 proxy
---------------------+------------------------------------------------------
 Reporter:  spidey3  |        Owner:  darkrain42
     Type:  defect   |       Status:  pending   
Milestone:           |    Component:  XMPP      
  Version:  2.6.1    |   Resolution:            
 Keywords:           |  
---------------------+------------------------------------------------------
Changes (by spidey3):

  * status:  pending => new


Comment:

 In SOCKS 5 it is standard that all DNS queries go through the proxy, and I
 actually see this in practice.  Only in SOCKS 4 was this optional.

 Here is a log snippet showing the connection attempt [and success]

 {{{
 (07:35:54) account: Connecting to account XYZZY at gmail.com/222.
 (07:35:54) connection: Connecting. gc = 05E50FC0
 (07:35:54) dnsquery: Performing DNS lookup for localhost
 (07:35:54) dnsquery: IP resolved for localhost
 (07:35:54) proxy: Attempting connection to 127.0.0.1
 (07:35:55) proxy: Connecting to talk.google.com:5222 via localhost:3393
 using SOCKS5
 (07:35:55) socks5 proxy: Connection in progress
 (07:35:55) socks5 proxy: Connected.
 (07:35:55) socks5 proxy: Able to read.
 (07:35:55) s5: reallocing from 5 to 8
 (07:35:55) s5: reallocing from 8 to 10
 (07:35:55) proxy: Connected to talk.google.com:5222.
 (07:35:55) jabber: Sending: <?xml version='1.0' ?>
 (07:35:55) jabber: Sending: <stream:stream to='gmail.com'
 xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
 version='1.0'>
 (07:35:55) jabber: Recv (348): <stream:stream from="gmail.com"
 id="C229F446FB043E20" 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>
 (07:35:55) jabber: Sending: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-
 tls'/>
 (07:35:55) jabber: Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-
 tls"/>
 }}}

 Here is some more context around the stun lookup failure:

 {{{
 (07:41:45) jabber: Recv (ssl)(543): <iq to="XYZZY at gmail.com/222CF61E427"
 id="purple83c5e253" type="result"><query
 xmlns="google:jingleinfo"><stun><server host="stun.l.google.com"
 udp="19302"/><server host="stun4.l.google.com" udp="19302"/><server
 host="stun1.l.google.com" udp="19302"/><server host="stun2.l.google.com"
 udp="19302"/><server host="stun3.l.google.com"
 udp="19302"/></stun><relay><token>CAESHwoWd2luZG93b2ZmaXJlQGdtYWlsLmNvbRCmsJb0syQaEBaCh8qKPipIJYFgzDUpjQM=</token><server
 host="relay.google.com" udp="19295" tcp="19294"
 tcpssl="443"/></relay></query></iq>
 (07:41:45) jabber: got google:jingleinfo
 (07:41:45) dnsquery: Performing DNS lookup for stun.l.google.com
 (07:41:45) dnsquery: Error resolving stun.l.google.com: 11004
 (07:41:45) jabber: Google STUN lookup failed: Error resolving
 stun.l.google.com: 11004
 (07:41:46) jabber: Recv (ssl)(543): <iq to="XYZZY at gmail.com/222CF61E427"
 id="purple83c5e254" type="result"><query gr:ext="2"
 xmlns="jabber:iq:roster" xmlns:gr="google:roster"><item
 jid="XYZZY.alternate at gmail.com" subscription="both" gr:w="1"
 gr:mc="4"><group>Self</group></item><item jid="twitter at twitter.com"
 subscription="none" ask="subscribe"
 name="#Twitter"><group>Other</group></item><item jid="ANOTHER at gmail.com"
 subscription="none" ask="subscribe" name="another"/><item
 jid="XYZZY at gmail.com"
 subscription="none"><group>Self</group></item></query></iq>
 (07:41:46) jabber: Sending (ssl): <presence><priority>1</priority><c
 xmlns='http://jabber.org/protocol/caps' node='http://pidgin.im/'
 hash='sha-1' ver='ZJcqUfuUIFo9PX0wTgU7J3kB5hA='/><x xmlns='vcard-
 temp:x:update'/></presence>
 }}}

 It seems pretty clear that the XMPP connection is going through the proxy
 -- but the STUN connection is not.

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


More information about the Tracker mailing list