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:[EMAIL PROTECTED] Sent: Thursday, June 03, 2004 2:25 PM To: [EMAIL PROTECTED] 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 [EMAIL PROTECTED]/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='[EMAIL PROTECTED]/balcony' type='set' id='roster_2'> <query xmlns='jabber:iq:roster'> <item jid='[EMAIL PROTECTED]' 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='[EMAIL PROTECTED]/balcony' type='set' id='a78b4q6ha463'> <query xmlns='jabber:iq:roster'> <item jid='[EMAIL PROTECTED]' name='Nurse' subscription='none'> <group>Servants</group> </item> </query> </iq> <iq to='[EMAIL PROTECTED]/chamber' type='set' id='a78b4q6ha464'> <query xmlns='jabber:iq:roster'> <item jid='[EMAIL PROTECTED]' 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='[EMAIL PROTECTED]/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='[EMAIL PROTECTED]/balcony' to='example.com' type='result' id='a78b4q6ha463'/> <iq from='[EMAIL PROTECTED]/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: [EMAIL PROTECTED] WEB: http://objective.bitfikler.com _______________________________________________ jdev mailing list [EMAIL PROTECTED] https://jabberstudio.org/mailman/listinfo/jdev _______________________________________________ jdev mailing list [EMAIL PROTECTED] https://jabberstudio.org/mailman/listinfo/jdev