[standards-jig] gateway handling of legacy contact lists
JHildebrand at jabber.com
Thu Dec 11 20:50:01 UTC 2003
With the caveat that the gateway, on receiving a <presence
type='subscribe'/>, will check to see if you are already subscribed to that
contact on the other side of the gateway. If so, it just responds <presence
type='subscribed'/>. If not, it should subscribe (or add to your buddy
list, or whatever) on the other side of the gateway.
This gets rid of a few race conditions.
> -----Original Message-----
> From: Peter Saint-Andre [mailto:stpeter at jabber.org]
> Sent: Thursday, December 11, 2003 1:37 PM
> To: standards-jig at jabber.org
> Subject: [standards-jig] gateway handling of legacy contact lists
> Currently, some gateways to legacy IM services handle legacy
> contact lists by sending <presence type='subscribed'/> from
> each legacy contact.
> However, this behavior is disallowed in XMPP-IM in order to
> plug an existing hole in the protocol, which can enable a
> kind of roster spam.
> There are several possible solutions:
> 1. Change the XMPP-IM spec. Not my preferred approach at this
> point. The change would be: if the user receives a subscribed
> stanza from a legacy contact and the user is subscribed to
> the hostname of the contact's JID (e.g., I'm subscribed to
> yahoo.jabber.dk and receive a subscribed from
> 'myfriend at yahoo.jabber.dk), then let it through. This feels
> like a hack ("special-casing" if you prefer that term) and I
> really would prefer not to make any changes to the XMPP specs
> at this point just to enable this gateway behavior, much as I
> don't like breaking existing functionality.
> 2. Put the onus on the client -- whenever my client receives
> presence from someone through the gateway, it checks to see
> if that contact is in the Jabber roster; if not, perform a
> roster set to add that contact.
> This doesn't give the user the pleasant feeling of "I've
> registered with the gateway, and look: here are all my contacts!"
> 3. After I register with the gateway, it sends a
> jabber:x:roster message to me containing all my contacts.
> Option #3 seems like the right way to go, since that is what
> the jabber:x:roster protocol is for, after all. ;-)
> Peter Saint-Andre
> Jabber Software Foundation
> Standards-JIG mailing list
> Standards-JIG at jabber.org
More information about the Standards