On Wed, Jun 5, 2013 at 4:52 PM, Matthew Wild <[email protected]> wrote:

> On 5 June 2013 16:24, Peter Saint-Andre <[email protected]> wrote:
> > On 6/5/13 4:00 AM, Matthew Wild wrote:
> >> http://matthewwild.co.uk/uploads/xep-0297.html
>

I reviewed this version.

Overall I think this is good to go, but I'm concerned that it has lots of
SHOULD that seems like it ought to be MUST, and I'm not clear this has
received any discussion:

§3.2 (1) discusses incomplete forwarding, particularly removal of
chatstates, etc. I would suggest that different use-cases for forwarding
affect this, and would appreciate a note suggesting that other extensions
(and I'm waggling eyebrows suggestively toward XEP-0280 here).

§3.2 (3) has some odd wording about xml namespaces - clearly if the
forwarding element itself is prefixed, the second sentence will not occur.
This second sentence feels like an implementation note to me, and needs to
be worded along the lines of:

Implementation Note: Particular care should be taken if the <forwarded/>
element is used unprefixed, and thus declares the default namespace to be
"urn:xmpp:forward:0", as this would cause the default namespace of the
stanza to be incorrect unless redeclared, as per XML namespace processing
rules.

§3.2 (4) describes a strong recommendation, but does not discuss when this
might be broken or why. Certainly the latter phrase "and a receiving client
should" seems orthogonal, and seems like a security consideration rather
than a business rule. (In fact, it's already present as such, in §5.1)

In contrast, I wonder if §3.2 (3)'s absolute requirement to leave a
jabber:server and jabber:client unchanged is required to be so strong (and,
moreover, whether this is even a good idea). I'd be inclined to argue that
a stanza SHOULD always have from and to completed (the exceptional case
being in a reporting protocol where the absence of an addressing attribute
might be significant) and the namespace SHOULD be the application namespace
of the stream (ie, always jabber:client for clients). Otherwise there's
some odd handling if you have inbound stanzas from servers (or worse,
components) being forwarded.

As an aside, the current schema prevents stanzas from being forwarded from
XEP-0114 components.

As usual, I'll be happy to be told that all my points have been discussed
to death already.

Dave.

Reply via email to