[jdev] Error in draft-ietf-xmpp-im-22.txt Section 7.4
JD Conley
jconley at winfessor.com
Thu Jun 3 17:03:46 CDT 2004
I think this is a bit of a misunderstanding. Both of the servers you mentioned were built before the XMPP specification and are not XMPP compliant. Any server that claims to be XMPP compliant (which those do not) would need to send an ID with that set. In Jabber the client didn't reply to the roster sets, but it is required in XMPP for consistency.
So, in your client, only send the result if an ID was specified in the set.
JD
-----Original Message-----
From: Geir Ove Skjærvik [mailto:geiroves at online.no]
Sent: Thursday, June 03, 2004 2:25 PM
To: jdev at jabber.org
Subject: [jdev] Error in draft-ietf-xmpp-im-22.txt Section 7.4
Hello,
Below is an excerpt from draft-ietf-xmpp-im-22.txt Section 7.4.
(Seen from the Client Side:)
It states the following described in a scenario:
a) User Adds Item to Roster
b) Server Sends Roster via IQ-Set (and provides an id="someid")
c) Server send IQ-Result
NOW to the problem: IT states:
d) All receicing Users should send IQ-Result with the ID from the IQ-Set
Problem is: Neither Jabber 1.4.2 NOR Tipiq' Timp 1.1 sends ANY ID in the
IQ-Set.
I have tried sending an IQ-Result back, but that only results in error
messages from the Server. Not sending ANY response back at all works fine
for both servers, and looks like the logical thing to do.
Error message from server when sending IQ-Result as specified:
<iq id=4 to=gos at rexii/daisy type=error from=rexii >
<error code=404 >Not Found</error></iq>
Excerpt from draft-ietf-xmpp-im-22.txt Section 7.4:
7.4 Adding a Roster Item
At any time, a user MAY add an item to his or her roster.
Example: Client adds a new item:
<iq from='juliet at example.com/balcony' type='set' id='roster_2'>
<query xmlns='jabber:iq:roster'>
<item jid='nurse at example.com'
name='Nurse'>
<group>Servants</group>
</item>
</query>
</iq>
The server MUST update the roster information in persistent storage,
and also push the change out to all of the user's available resources
that have requested the roster. This "roster push" consists of an IQ
stanza of type "set" from the server to the client and enables all
available resources to remain in sync with the server-based roster
information.
Example: Server (1) pushes the updated roster information to all
available resources that have requested the roster and (2) replies
with an IQ result to the sending resource:
<iq to='juliet at example.com/balcony'
type='set'
id='a78b4q6ha463'>
<query xmlns='jabber:iq:roster'>
<item jid='nurse at example.com'
name='Nurse'
subscription='none'>
<group>Servants</group>
</item>
</query>
</iq>
<iq to='juliet at example.com/chamber'
type='set'
id='a78b4q6ha464'>
<query xmlns='jabber:iq:roster'>
<item jid='nurse at example.com'
name='Nurse'
subscription='none'>
<group>Servants</group>
</item>
</query>
Saint-Andre Expires October 11, 2004 [Page 31]
Internet-Draft XMPP IM April 2004
</iq>
<iq to='juliet at example.com/balcony' type='result' id='roster_2'/>
As required by the semantics of the IQ stanza kind as defined in
[XMPP-CORE], each resource that received the roster push MUST reply
with an IQ stanza of type "result" (or "error").
Example: Resources reply with an IQ result to the server:
<iq from='juliet at example.com/balcony'
to='example.com'
type='result'
id='a78b4q6ha463'/>
<iq from='juliet at example.com/chamber'
to='example.com'
type='result'
id='a78b4q6ha464'/>
regards
Geir Ove Skjaervik
Norway
Phone: Int+907-48-869
Fax: Int+47-6988-5947
E-mail: objective.software at online.no
WEB: http://objective.bitfikler.com
_______________________________________________
jdev mailing list
jdev at jabber.org
https://jabberstudio.org/mailman/listinfo/jdev
More information about the JDev
mailing list