On Fri, Oct 24, 2008 at 8:01 PM, Peter Saint-Andre <[EMAIL PROTECTED]> wrote: >> Yep, but I see now that there is another possibile conflict between >> rfc3920 and 3921: >> >> In the following rule we say: "# If the JID contains a resource >> identifier and there exists no connected resource that matches the >> full JID, the recipient's server SHOULD return a >> <service-unavailable/> stanza error to the sender. " >> >> and in 3921, accordingly to 11.1, rule 3: >> >> "Else if the JID is of the form <[EMAIL PROTECTED]/resource> and no >> available resource matches the full JID, the recipient's server (a) >> SHOULD silently ignore the stanza (i.e., neither deliver it nor return >> an error) if it is a presence stanza, (b) MUST return a >> <service-unavailable/> stanza error to the sender if it is an IQ >> stanza, and (c) SHOULD treat the stanza as if it were addressed to >> <[EMAIL PROTECTED]> if it is a message stanza. " > > I don't see a conflict. The rfc3921 rules build on the rfc3920 rules > (which are vague enough that the rfc3921rules don't conflict). Or at > least that was the idea.
In rfc3920 we say "hey, each time we have a full JID, if the associated resources is not connected you should send back an error", then in 3921 "wait, if the stanza is a message change idea and try to deliver it to the bare JID" (without considering the uncertainety related to "connected" or "available" resources). As a developer I'd take rfc3920 a transport/routing layer which should work consintently either at the bottom of 3921 or a standalone streaming protocol. In both cases I expect the same behavior for the same packets and this behavior should be defined only in 3920, that's to say: if the resource is not connected, discard the packet, with no change of recovering it at an higher level. However now I see that in 39020bis that sentence has disappeared and we have slightly different rules I'm pretty comfortable with ;) : - If the JID contained in the 'to' attribute is of the form <[EMAIL PROTECTED]/resource> and there is no connected resource that exactly matches the full JID, the stanza shall be processed as if the JID were of the form <[EMAIL PROTECTED]>. - If the JID contained in the 'to' attribute is of the form <[EMAIL PROTECTED]/resource> and there is a connected resource that exactly matches the full JID, the server SHOULD deliver the stanza to that connected resource. bye -- Fabio Forno, Ph.D. Bluendo srl http://www.bluendo.com jabber id: [EMAIL PROTECTED]