[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