[JDEV] possible defect in RosterList behavior
Jay Chalfant
jchalfan at outbackinc.com
Tue Feb 13 16:03:03 CST 2001
I noticed today that I won't get any roster item updates from Jabber server
until I request the entire roster list. Specifically, unless I first do a
<iq id="doroster_4" type="get">
<query xmlns="jabber:iq:roster" />
</iq>
I won't get roster updates as I make changes to the roster. I don't see any
documentation that justifies this behavior so I assume it is a defect. I
believe it should be considered a defect because the protocol should not
require a client to retrieve the roster list every time it connects just to
be able to use the roster list. (We have a specific justification for not
receiving the roster list on every request.)
Here is a sample sequence (ignore the xml annotation):
- <jabberproxy_add_buddy>
- <SEND>
<presence type="subscribe" to="jchalfan at aimtrans.internal.outbackinc.com"
/>
</SEND>
- <SEND>
- <iq id="982087708" type="set">
- <query xmlns="jabber:iq:roster">
<item jid="jchalfan at aimtrans.internal.outbackinc.com" name="_jchalfan" />
</query>
</iq>
</SEND>
- <RECV>
<iq id="982087708" type="result" from="a at billabong/I at P"
to="a at billabong/I at P" />
</RECV>
- <RECV>
- <presence to="a at billabong"
from="jchalfan at aimtrans.internal.outbackinc.com">
<status>Idle 0 Minutes</status>
</presence>
</RECV>
</jabberproxy_add_buddy>
This sequence occured in a session in which I had not requested the whole
roster list. If I do request the roster list first, I get what I consider is
a "normal" protocol behavior which includes the 4 (!) roster updates and the
reverse subscribe request as shown below.
- <winjab_add_buddy>
- <SENT>
- <iq id="JCOM_34" type="set">
- <query xmlns="jabber:iq:roster">
- <item jid="jchalfan at aimtrans.internal.outbackinc.com" name="jchalfan">
<group />
</item>
</query>
</iq>
</SENT>
- <SENT>
- <presence to="jchalfan at aimtrans.internal.outbackinc.com" type="subscribe">
<status>Normal Subscription Request</status>
</presence>
</SENT>
- <RECV>
- <iq type="set">
- <query xmlns="jabber:iq:roster">
- <item jid="jchalfan at aimtrans.internal.outbackinc.com" name="jchalfan"
subscription="none">
<group />
</item>
</query>
</iq>
</RECV>
- <RECV>
<iq id="JCOM_34" type="result" from="a at billabong/a_310"
to="a at billabong/a_310" />
- <iq type="set">
- <query xmlns="jabber:iq:roster">
- <item jid="jchalfan at aimtrans.internal.outbackinc.com" name="jchalfan"
subscription="none" ask="subscribe">
<group />
</item>
</query>
</iq>
- <presence to="a at billabong" type="subscribed"
from="jchalfan at aimtrans.internal.outbackinc.com">
<status>Normal Subscription Request</status>
</presence>
- <iq type="set">
- <query xmlns="jabber:iq:roster">
- <item jid="jchalfan at aimtrans.internal.outbackinc.com" name="jchalfan"
subscription="to">
<group />
</item>
</query>
</iq>
- <presence to="a at billabong" type="subscribe"
from="jchalfan at aimtrans.internal.outbackinc.com">
<status>Normal Subscription Request</status>
</presence>
- <presence to="a at billabong"
from="jchalfan at aimtrans.internal.outbackinc.com">
<status>Idle 0 Minutes</status>
</presence>
</RECV>
- <SENT>
<presence to="jchalfan at aimtrans.internal.outbackinc.com" type="subscribed"
/>
</SENT>
- <RECV>
- <iq type="set">
- <query xmlns="jabber:iq:roster">
- <item jid="jchalfan at aimtrans.internal.outbackinc.com" name="jchalfan"
subscription="both">
<group />
</item>
</query>
</iq>
</RECV>
</winjab_add_buddy>
Can someone please clarify if this is a bug or a "feature".
thanks,
-J
More information about the JDev
mailing list