On Wed Aug  5 23:46:28 2009, Luke-Jr wrote:
On Wednesday 05 August 2009 05:42:27 pm Adam Kalsey wrote:
> We're getting timeouts when trying to establish an s2s connection to
> Google. Looking through their srv records, I see...
>
> _xmpp-server._tcp.gmail.com. 86400 IN   SRV     20 0 5269
> xmpp-server1.l.google.com.
> _xmpp-server._tcp.gmail.com. 86400 IN   SRV     20 0 5269
> xmpp-server2.l.google.com.
> _xmpp-server._tcp.gmail.com. 86400 IN   SRV     20 0 5269
> xmpp-server3.l.google.com.
> _xmpp-server._tcp.gmail.com. 86400 IN   SRV     5 0 5269
> xmpp-server.l.google.com.
> _xmpp-server._tcp.gmail.com. 86400 IN   SRV     20 0 5269
> xmpp-server4.l.google.com.
>
> Trying to manually open a connection on port 5269 on each of those
> domains fails on xmpp-server1.l.google.com and
> xmpp-server2.l.google.com. It succeeds on all the others.
>
> Anyone else having similar issues?

If this actually causes problems for you beyond some initial delays, your server is broken. It should try all the listed servers before it gives up...

Yes, and perhaps more to the point, if xmpp-server.l.google.com works, then none of the rest should be tried at all - SRV priority being like MX precendence; lowest wins.

One possible complication is that I vaguely recall that whilst a weight of 0 is legal when there's only one entry for that priority, I'm not sure it is if there are multiple - the RFC basically says:

       16 bit unsigned integer in network byte order.  Domain
       administrators SHOULD use Weight 0 when there isn't any server
selection to do, to make the RR easier to read for humans (less
       noisy).  In the presence of records containing weights greater
than 0, records with weight 0 should have a very small chance of
       being selected.

Certainly the recommended algorithm described in RFC 2782 would imply much complication - a strict reading of that would imply that only one of those priority 20 servers would ever be selected, and that would be whichever were sorted first. A server deciding to break ties by alphabetic sorting would always put xmpp-server1.l.google.com first, and so if that's failing...

So, basically, I'm pretty sure that both Google *and* your server are wrong here - your server should be trying the xmpp-server.l.google.com record before bothering with any others, and Google should have all the priority 20 records listed at a non-zero weight.

Dave.
--
Dave Cridland - mailto:[email protected] - xmpp:[email protected]
 - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
 - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade

Reply via email to