On 8/22/12 5:04 PM, XMPP Extensions Editor wrote:
> This message constitutes notice of a Last Call for comments on XEP-0297
> (Stanza Forwarding).
>
> Abstract: This document defines a protocol to forward a stanza from one
> entity to another.
>
> URL: http://xmpp.org/extensions/xep-0297.html
>
> This Last Call begins today and shall end at the close of business on
> 2012-09-07.
>
> Please consider the following questions during this Last Call and send your
> feedback to the [email protected] discussion list:
>
> 1. Is this specification needed to fill gaps in the XMPP protocol stack or to
> clarify an existing protocol?
It seems helpful, yes.
> 2. Does the specification solve the problem stated in the introduction and
> requirements?
The requirements say "Extension payloads should be included" but the
business rules modify that a bit. Perhaps "Most extension payloads
should be included" would be better.
> 3. Do you plan to implement this specification in your code? If not, why not?
I have no code in which to implement it.
> 4. Do you have any security concerns related to this specification?
Not in particular, although the references to XEP-0285 and XEP-0290
(both deferred, and both the same name) is a bit confusing.
> 5. Is the specification accurate and clearly written?
In general, yes.
If the <forwarded/> element is truly meant to contain only a <delay/>
element and the forwarded stanza itself, then the schema seems too loose:
<xs:element name='forwarded'>
<xs:complexType>
<xs:sequence xmlns:delay='urn:xmpp:delay'>
<xs:element ref='delay:delay' minOccurs='0' maxOccurs='1' />
<xs:any namespace='##other' minOccurs='1' maxOccurs='1' />
</xs:sequence>
</xs:complexType>
</xs:element>
In particular, I don't think this is what we want:
<xs:any namespace='##other' minOccurs='1' maxOccurs='1' />
We probably want something along the lines of the stream schema:
http://xmpp.org/rfcs/rfc6120.html#schemas-stream
That is:
###
<xs:schema
xmlns:xs='http://www.w3.org/2001/XMLSchema'
targetNamespace='urn:xmpp:forward:0'
xmlns='urn:xmpp:forward:0'
elementFormDefault='qualified'>
<xs:import namespace='jabber:client'/>
<xs:import namespace='jabber:server'/>
<xs:element name='forwarded'>
<xs:complexType>
<xs:sequence xmlns:delay='urn:xmpp:delay'
xmlns:client='jabber:client'
xmlns:server='jabber:server'>
<xs:element ref='delay:delay' minOccurs='0' maxOccurs='1' />
<xs:choice minOccurs='0' maxOccurs='1'>
<xs:choice>
<xs:element ref='client:message'/>
<xs:element ref='client:presence'/>
<xs:element ref='client:iq'/>
</xs:choice>
<xs:choice>
<xs:element ref='server:message'/>
<xs:element ref='server:presence'/>
<xs:element ref='server:iq'/>
</xs:choice>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
###
Peter
--
Peter Saint-Andre
https://stpeter.im/