XMPP, Connect Server, and SRV

Andreas Monitzer pidgin at monitzer.com
Fri Oct 17 07:47:01 EDT 2008

On Oct 17, 2008, at 13:32, Sebastiaan Deckers wrote:

> I don't see how xmpp-client SRV lookups of a user provided hostname  
> "break the concepts of XMPP." In fact it seems logical to do that.

I was talking about you mis-using the host part or the JID as an  
arbitrary field. The proper XMPP way to do this would be "billg 
\40microsoft.com@<xmpp service name>". It's up to the client to  
display the escape sequences appropriately (I'm not sure pidgin does  
that right now).

>> Mind you, it's fine that you implement it that way as long as you  
>> keep it a walled garden, but adding support for your private  
>> changes to the protocol shouldn't be part of an official XMPP plugin.
> Again, I don't really know about Pidgin's source code or how  
> complicated it is for libpurple developers to make SRV lookups.

DNS lookups are asynchronous, so this might actually really add some  
complications (although I don't know the code in question at all).

> But frankly that doesn't matter at all in designing the XMPP  
> specification. The XSF is a standards foundation, not a software  
> foundation, and therefore there is no "official" reference  
> implementation.

IIRC that host field is not part of the specification at all. It's  
there as a tribute to misconfigured or broken domain name servers,  
which are far too common nowadays.

>> btw, A records allow load balancing, too (just weights are not  
>> supported I think).
> Sure, but SRV is more elegant as it makes the load balancing  
> specifically for XMPP services and not a blanket A-record which  
> would affect other services on that domain.

Just use a "xmpp." prefix for the name (making it a separate A record)  
and you don't have that issue.


More information about the Devel mailing list