[jdev] XEP-0100 and roster/legacy contact list sync

Pedro Melo melo at co.sapo.pt
Wed Dec 5 05:28:23 CST 2007


On Dec 5, 2007, at 8:53 AM, Massimiliano Mirra wrote:

>>> Except that how do you know someone is not trying to poison your
>>> roster?
>>> We talk about this in both RFC 3921 and rfc3921bis. For example you
>>> can
>> Well, the remote transport gw.remote.dom will send roster pushes to
>> me at local.dom. So my server gets those.
>> It would then check my roster to see if I have an item for
>> gw.remote.dom. If yes, then it would rewrite the roster push from as
>> local.dom.
> I'm doing something like:

[usual roster get snipped]

the next part is not needed. See below.

> <iq from='server' to='transport' type='get' id='deleg01'>
>   <query xmlns='roster-delegation'>
>     <owner jid='client at server'/>
>   </query>
> </iq>
> ...transport logs to legacy service...

The transport will log on to the legacy service when he receives a  
<presence> stanza. It should be like that to pass along <status> and  
<show> information.

> <iq from='transport' to='server' type='result' id='deleg01'>
>   <query xmlns='roster-delegation'>
>     <owner jid='client at server'/>
>     <query xmlns='jabber:iq:roster'>
>       <item jid='legacy1 at transport'/>
>       <item jid='legacy2 at transport'/>
>     </query>
>   </query>
> </iq>

This would become a IQ set, and the rest below would proceed as before.

[std roster pushes snipped].

> Wrapping the roster from the transport rather than overloading its
> usual function looked attractive, but maybe there are gotchas with one
> <query> inside another (even if namespaced).

ENOCRYSTALBALL, can't see reasons for/against either one.

Best regards,
HIId: Pedro Melo
SMTP: melo at co.sapo.pt
XMPP: pedro.melo at sapo.pt

More information about the JDev mailing list