mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-26 19:22:15 -05:00
1.0 DRAFT
This commit is contained in:
parent
9cb8250400
commit
05ef0d73ed
76
xep-0297.xml
76
xep-0297.xml
@ -10,8 +10,7 @@
|
|||||||
<abstract>This document defines a protocol to forward a stanza from one entity to another.</abstract>
|
<abstract>This document defines a protocol to forward a stanza from one entity to another.</abstract>
|
||||||
&LEGALNOTICE;
|
&LEGALNOTICE;
|
||||||
<number>0297</number>
|
<number>0297</number>
|
||||||
<status>Proposed</status>
|
<status>Draft</status>
|
||||||
<lastcall>2012-12-14</lastcall>
|
|
||||||
<type>Standards Track</type>
|
<type>Standards Track</type>
|
||||||
<sig>Standards</sig>
|
<sig>Standards</sig>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
@ -19,19 +18,24 @@
|
|||||||
</dependencies>
|
</dependencies>
|
||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>forwarding</shortname>
|
<shortname>forward</shortname>
|
||||||
<schemaloc/>
|
<schemaloc>
|
||||||
|
<url>http://xmpp.org/schemas/forward.xsd</url>
|
||||||
|
</schemaloc>
|
||||||
&mwild;
|
&mwild;
|
||||||
&ksmith;
|
&ksmith;
|
||||||
&stpeter;
|
<revision>
|
||||||
|
<version>1.0</version>
|
||||||
|
<date>2013-10-02</date>
|
||||||
|
<initials>psa</initials>
|
||||||
|
<remark><p>Per a vote of the XMPP Council, advanced status to Draft.</p></remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.5</version>
|
<version>0.5</version>
|
||||||
<date>2013-06-05</date>
|
<date>2013-06-05</date>
|
||||||
<initials>mw</initials>
|
<initials>mw</initials>
|
||||||
<remark>
|
<remark>
|
||||||
<p>Incorporated Last Call feedback, including; clarify that client handling of non-message stanzas,
|
<p>Incorporated Last Call feedback, including; clarify that client handling of non-message stanzas, add a disco feature, remove references to deferred XEPs, tighten up the schema to allow only stanzas to be forwarded.</p>
|
||||||
add a disco feature, remove references to deferred XEPs, tighten up the schema to allow only stanzas
|
|
||||||
to be forwarded.</p>
|
|
||||||
</remark>
|
</remark>
|
||||||
</revision>
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
@ -39,8 +43,7 @@
|
|||||||
<date>2012-07-05</date>
|
<date>2012-07-05</date>
|
||||||
<initials>mw</initials>
|
<initials>mw</initials>
|
||||||
<remark>
|
<remark>
|
||||||
<p>Added recommendation that forwarded messages as part of another specification should be nested under an
|
<p>Added recommendation that forwarded messages as part of another specification should be nested under an element of that protocol's namespace.</p>
|
||||||
element of that protocol's namespace.</p>
|
|
||||||
<p>Adapted text to indicate that stanzas other than messages may be forwarded. Updated title to reflect this.</p>
|
<p>Adapted text to indicate that stanzas other than messages may be forwarded. Updated title to reflect this.</p>
|
||||||
</remark>
|
</remark>
|
||||||
</revision>
|
</revision>
|
||||||
@ -121,25 +124,10 @@
|
|||||||
</section2>
|
</section2>
|
||||||
<section2 topic='Business rules'>
|
<section2 topic='Business rules'>
|
||||||
<ol>
|
<ol>
|
||||||
<li><p>Forwarded stanzas SHOULD include all relevant child elements of the original stanza by default.
|
<li><p>Forwarded stanzas SHOULD include all relevant child elements of the original stanza by default. However, an implementation MAY omit elements it deems irrelevant and safe to discard. An example would be omitting &xep0085; elements from <message> stanzas which typically do not make sense outside the context of a conversation session. However it should be noted that removing such elements can invalidate any digital signature on a stanza. If preserving a signature is important in the context this extension is used then child elements SHOULD NOT be removed.</p></li>
|
||||||
However, an implementation MAY omit elements it deems irrelevant and safe to discard. An example
|
<li><p>The forwarding entity SHOULD add a <delay/> child to the <forwarded/> element to indicate to the recipient the date/time that the forwarding entity received the original stanza. The format of this element is described in &xep0203;.</p></li> <li><p>The namespace of the forwarded stanza MUST be preserved (this is typically 'jabber:client'). If no 'xmlns' is set for the stanza then as per XML namespacing rules it would inherit the 'urn:xmpp:forward:0' namespace, which is wrong.</p></li>
|
||||||
would be omitting &xep0085; elements from <message> stanzas which typically do not make sense
|
<li><p>When this extension is employed simply for a user to forward a given message to a contact, the outer <message/> SHOULD contain a body (even if empty) and a receiving client should pay particular attention to ensure it renders both the sender's text and the forwarded message unambiguously.</p></li>
|
||||||
outside the context of a conversation session. However it should be noted that removing such
|
<li><p>When a forwarded stanza forms part of an encapsulating protocol, the <forwarded/> element SHOULD be a child of a tag of that protocol, and SHOULD NOT be included as a direct child of the transmitted stanza.</p></li>
|
||||||
elements can invalidate any digital signature on a stanza. If preserving a signature is important
|
|
||||||
in the context this extension is used then child elements SHOULD NOT be removed.</p></li>
|
|
||||||
<li><p>The forwarding entity SHOULD add a <delay/> child to the <forwarded/> element
|
|
||||||
to indicate to the recipient the date/time that the forwarding entity received the original
|
|
||||||
stanza. The format of this element is described in &xep0203;.</p></li>
|
|
||||||
<li><p>The namespace of the forwarded stanza MUST be preserved (this is typically 'jabber:client').
|
|
||||||
If no 'xmlns' is set for the stanza then as per XML namespacing rules it would inherit the
|
|
||||||
'urn:xmpp:forward:0' namespace, which is wrong.</p></li>
|
|
||||||
<li><p>When this extension is employed simply for a user to forward a given message to a contact, the
|
|
||||||
outer <message/> SHOULD contain a body (even if empty) and a receiving client should pay
|
|
||||||
particular attention to ensure it renders both the sender's text and the forwarded message
|
|
||||||
unambiguously.</p></li>
|
|
||||||
<li><p>When a forwarded stanza forms part of an encapsulating protocol, the <forwarded/> element
|
|
||||||
SHOULD be a child of a tag of that protocol, and SHOULD NOT be included as a direct child of the
|
|
||||||
transmitted stanza.</p></li>
|
|
||||||
</ol>
|
</ol>
|
||||||
</section2>
|
</section2>
|
||||||
</section1>
|
</section1>
|
||||||
@ -172,6 +160,17 @@
|
|||||||
expected to display the <body> of a message as well as any forwarded stanza therein.
|
expected to display the <body> of a message as well as any forwarded stanza therein.
|
||||||
</p>
|
</p>
|
||||||
</section1>
|
</section1>
|
||||||
|
<section1 topic='IANA Considerations' anchor='iana'>
|
||||||
|
<p>This document requires no interaction with &IANA;.</p>
|
||||||
|
</section1>
|
||||||
|
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
|
||||||
|
<section2 topic='Protocol Namespaces' anchor='registrar-ns'>
|
||||||
|
<p>The ®ISTRAR; includes 'urn:xmpp:forward:0' in its registry of protocol namespaces (see &NAMESPACES;).</p>
|
||||||
|
</section2>
|
||||||
|
<section2 topic='Protocol Versioning' anchor='registrar-versioning'>
|
||||||
|
&NSVER;
|
||||||
|
</section2>
|
||||||
|
</section1>
|
||||||
<section1 topic='Security Considerations' anchor='security'>
|
<section1 topic='Security Considerations' anchor='security'>
|
||||||
<p>Forwarding stanzas can reveal information about the original sender, including possible presence leaks as well as the stanza payloads themselves. Any extensions using this format must therefore consider the implications of this.</p>
|
<p>Forwarding stanzas can reveal information about the original sender, including possible presence leaks as well as the stanza payloads themselves. Any extensions using this format must therefore consider the implications of this.</p>
|
||||||
<p>Forwarding can either be used as-is, or in the context of another specification, with different security considerations as described below.</p>
|
<p>Forwarding can either be used as-is, or in the context of another specification, with different security considerations as described below.</p>
|
||||||
@ -196,8 +195,19 @@
|
|||||||
xmlns='urn:xmpp:forward:0'
|
xmlns='urn:xmpp:forward:0'
|
||||||
elementFormDefault='qualified'>
|
elementFormDefault='qualified'>
|
||||||
|
|
||||||
<xs:import namespace='jabber:client'/>
|
<xs:annotation>
|
||||||
<xs:import namespace='jabber:server'/>
|
<xs:documentation>
|
||||||
|
The protocol documented by this schema is defined in
|
||||||
|
XEP-0297: http://www.xmpp.org/extensions/xep-0297.html
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
|
||||||
|
<xs:import namespace='jabber:client'
|
||||||
|
schemaLocation='http://xmpp.org/schemas/jabber-client.xsd'/>
|
||||||
|
<xs:import namespace='jabber:server'
|
||||||
|
schemaLocation='http://xmpp.org/schemas/jabber-server.xsd'/>
|
||||||
|
<xs:import namespace='urn:xmpp:delay'
|
||||||
|
schemaLocation='http://xmpp.org/schemas/delay.xsd'/>
|
||||||
|
|
||||||
<xs:element name='forwarded'>
|
<xs:element name='forwarded'>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
@ -220,11 +230,11 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:schema>
|
|
||||||
|
|
||||||
|
</xs:schema>
|
||||||
]]></code>
|
]]></code>
|
||||||
</section1>
|
</section1>
|
||||||
<section1 topic='Acknowledgements' anchor='ack'>
|
<section1 topic='Acknowledgements' anchor='ack'>
|
||||||
<p>Thanks to Matt Miller, Florian Zeitz, Jefry Lagrange, Kim Alvefur and Kurt Zeilenga for their feedback.</p>
|
<p>Thanks to Kim Alvefur, Jefry Lagrange, Matt Miller, Peter Saint-Andre, Kurt Zeilenga, and Florian Zeitz for their feedback.</p>
|
||||||
</section1>
|
</section1>
|
||||||
</xep>
|
</xep>
|
||||||
|
Loading…
Reference in New Issue
Block a user