On Thu, Jul 21, 2005 at 04:50:22PM -0300, Gaston Dombiak wrote: > Hey ralphm, > > My question was/is about the format of the TO attribute when sending the > opening stream:stream element. So is it valid to just include the subdomain > instead of the subdomain+hostname? There is no description of that in the > JEP, just the examples that are using the format subdomain+hostname.
Oh. Maybe the text is not clear in this respect. The 'to' attribute must contain the address of the component, a FQDN. If the address is DNS resolvable (e.g. 'conference.jabber.org', other servers can send messages to it (via s2s). If you just use 'conference.localhost' or 'conference', this is ok, too, but only local entities (clients or other components connected to the same server) can send messages to it, because the address would typically only resolve within the server. For completeness, when a server receives a packet it checks the 'to' address. If it is its own address it will try to handle the packet itself. If it not, it has to route the packet elsewhere. In case of local clients, it will try to send the packet on to a connected client or handle it itself. If the address (or the host part of it) is of a locally known component it will route it there. As a last resort, it will try to resolve the address using DNS and open a s2s connection to the found IP-address/port. > Your post made me have more questions now. :) So is it valid to send > subdomain+anyhostname to a server whose hostname is not anyhostname? Where > can I read about the implications of doing something like that? How may a > server differentiate between subdomain and subdomain+anyhostname? Do they > have different implications? Yes, the address is completely free. However, when an other server needs to send messages to your component, the FQDN of the component should resolve to the server it is connected to, since this other server will simply open a s2s connection to the given address. Your server is then responsible for answering on behalf of the component. This is because servers cannot know beforehand if a certain address points to a 'normal' server or a server component. -- Groetjes, ralphm _______________________________________________ jdev mailing list [email protected] http://mail.jabber.org/mailman/listinfo/jdev
