1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-21 08:45:04 -05:00
This commit is contained in:
stpeter 2012-02-08 10:22:38 -07:00
parent db8f1249e1
commit abbf86ae78

View File

@ -24,6 +24,12 @@
<supersededby/>
<shortname>NOT_YET_ASSIGNED</shortname>
&stpeter;
<revision>
<version>0.15</version>
<date>2012-02-08</date>
<initials>psa</initials>
<remark><p>Updated to track revisions to XEP-0300.</p></remark>
</revision>
<revision>
<version>0.14</version>
<date>2011-06-29</date>
@ -224,9 +230,7 @@ Initiator Responder
<name>test.txt</name>
<range/>
<size>1022</size>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha1'>552da749930852c69ae5d2141d3766b1</hash>
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-11'>552da749930852c69ae5d2141d3766b1</hash>
</file>
</offer>
</description>
@ -278,9 +282,7 @@ Initiator Responder
<name>test.txt</name>
<range/>
<size>1022</size>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha1'>552da749930852c69ae5d2141d3766b1</hash>
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-1'>552da749930852c69ae5d2141d3766b1</hash>
</file>
</offer>
</description>
@ -365,7 +367,7 @@ Initiator Responder
</section1>
<section1 topic='Communicating the Hash' anchor='hash'>
<p>At any time during the lifetime of the file transfer session, the hosting entity (i.e., the entity where the file resides) can communicate the checksum of the file to the receiving entity. This is done by sending a session-info message containing a &lt;checksum/&gt; element qualified by the 'urn:xmpp:jingle:apps:file-transfer:3' namespace, which in turn contains a &lt;file/&gt; element that MUST at least contain a child element of &lt;hashes/&gt; qualified by the 'urn:xmpp:hashes:0' namespace and MAY contain other elements qualified by the 'urn:xmpp:jingle:apps:file-transfer:3' namespace (e.g. &lt;name/&gt; and &lt;date/&gt;). Each &lt;hash/&gt; child of the &lt;hashes/&gt; element contains a checksum of the file contents produced in accordance with the hashing function specified by the 'algo' attribute, which MUST be one of the functions listed in the &ianahashes;.</p>
<p>At any time during the lifetime of the file transfer session, the hosting entity (i.e., the entity where the file resides) can communicate the checksum of the file to the receiving entity. This is done by sending a session-info message containing a &lt;checksum/&gt; element qualified by the 'urn:xmpp:jingle:apps:file-transfer:3' namespace, which in turn contains a &lt;file/&gt; element that MUST at least contain a child element of &lt;hash/&gt; qualified by the 'urn:xmpp:hashes:1' namespace and MAY contain other elements qualified by the 'urn:xmpp:jingle:apps:file-transfer:3' namespace (e.g. &lt;name/&gt; and &lt;date/&gt;). Each &lt;hash/&gt; element contains a checksum of the file contents produced in accordance with the hashing function specified by the 'algo' attribute, which MUST be one of the functions listed in the &ianahashes;.</p>
<example caption="Hosting entity sends hash in session-info"><![CDATA[
<iq from='romeo@montague.lit/orchard'
id='kqh401b5'
@ -377,9 +379,7 @@ Initiator Responder
sid='a73sjjvkla37jfea'>
<checksum xmlns='urn:xmpp:jingle:apps:file-transfer:3'>
<file>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha-1'>552da749930852c69ae5d2141d3766b1</hash>
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-1'>552da749930852c69ae5d2141d3766b1</hash>
</file>
</checksum>
</jingle>
@ -400,9 +400,7 @@ Initiator Responder
sid='a73sjjvkla37jfea'>
<abort xmlns='urn:xmpp:jingle:apps:file-transfer:3'>
<file>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha-1'>a749930852c69ae5d2141d3766b1552d</hash>
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-1'>552da749930852c69ae5d2141d3766b1</hash>
</file>
</abort>
</jingle>
@ -441,9 +439,7 @@ Initiator Responder
<description xmlns='urn:xmpp:jingle:apps:file-transfer:3'>
<request>
<file>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha1'>552da749930852c69ae5d2141d3766b1</hash>
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-1'>552da749930852c69ae5d2141d3766b1</hash>
</file>
</request>
</description>
@ -494,9 +490,7 @@ Initiator Responder
<request>
<file>
<range offset='270336'/>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha1'>552da749930852c69ae5d2141d3766b1</hash>
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-1'>552da749930852c69ae5d2141d3766b1</hash>
</file>
</request>
</description>
@ -547,25 +541,19 @@ Initiator Responder
<date>2011-06-01T15:58:15Z</date>
<name>somefile.txt</name>
<size>1234</size>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha1'>a749930852c69ae5d2141d3766b1552d
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-1'>a749930852c69ae5d2141d3766b1552d
</file>
<file>
<date>2011-06-01T15:58:15Z</date>
<name>anotherfile.txt</name>
<size>2345</size>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha1'>930852c69ae5d2141d3766b1552da749</hash>
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-1'>930852c69ae5d2141d3766b1552da749</hash>
</file>
<file>
<date>2011-06-01T15:58:15Z</date>
<name>yetanotherfile.txt</name>
<size>3456</size>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha1'>52c69ae5d2141d3766b1552da7499308</hash>
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-1'>52c69ae5d2141d3766b1552da7499308</hash>
</file>
</offer>
</description>
@ -602,9 +590,7 @@ Initiator Responder
sid='a73sjjvkla37jfea'>
<received xmlns='urn:xmpp:jingle:apps:file-transfer:3'>
<file>
<hashes xmlns='urn:xmpp:hashes:0'>
<hash algo='sha-1'>a749930852c69ae5d2141d3766b1552d</hash>
</hashes>
<hash xmlns='urn:xmpp:hashes:1' algo='sha-1'>a749930852c69ae5d2141d3766b1552d</hash>
</file>
</received>
</jingle>
@ -781,7 +767,7 @@ Initiator Responder
xmlns='urn:xmpp:jingle:apps:file-transfer:3'
elementFormDefault='qualified'>
<xs:import namespace='urn:xmpp:hashes:0'/>
<xs:import namespace='urn:xmpp:hashes:1'/>
<xs:element name='description'>
<xs:complexType>
@ -806,11 +792,11 @@ Initiator Responder
<xs:element name='file'>
<xs:complexType>
<xs:sequence xmlns:h='urn:xmpp:hashes:0'>
<xs:sequence xmlns:h='urn:xmpp:hashes:1'>
<xs:element name='date' type='xs:date'/>
<xs:element name='name' type='xs:string'/>
<xs:element name='size' type='xs:positiveInteger'/>
<xs:element ref='h:hashes'/>
<xs:element ref='h:hash' minOccurs='0' maxOccurs='unbounded'/>
</xs:sequence>
</xs:complexType>
</xs:element>