git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1242 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2007-09-26 22:51:52 +00:00
parent 9f4efe8625
commit 059ccd4723
1 changed files with 24 additions and 20 deletions

View File

@ -30,53 +30,59 @@
<registry/>
&hildjj;
&stpeter;
<revision>
<version>1.3</version>
<date>2007-09-26</date>
<initials>psa</initials>
<remark><p>Moved specification of LZW algorithm to XEP-0229.</p></remark>
</revision>
<revision>
<version>1.2</version>
<date>2007-08-22</date>
<initials>psa</initials>
<remark>Clarified when compression shall be considered to start; per XEP-0170, specified that compression should be negotiated after SASL.</remark>
<remark><p>Clarified when compression shall be considered to start; per XEP-0170, specified that compression should be negotiated after SASL.</p></remark>
</revision>
<revision>
<version>1.1</version>
<date>2005-12-14</date>
<initials>psa</initials>
<remark>More completely specified error handling; mentioned LZW (DCLZ) method.</remark>
<remark><p>More completely specified error handling; mentioned LZW (DCLZ) method.</p></remark>
</revision>
<revision>
<version>1.0</version>
<date>2005-06-16</date>
<initials>psa</initials>
<remark>Per a vote of the Jabber Council, advanced status to Draft.</remark>
<remark><p>Per a vote of the Jabber Council, advanced status to Draft.</p></remark>
</revision>
<revision>
<version>0.5</version>
<date>2005-05-18</date>
<initials>psa</initials>
<remark>Modifications to address Council feedback: used RFC 3920 terminology; specified error conditions; specified ZLIB as mandatory to implement.</remark>
<remark><p>Modifications to address Council feedback: used RFC 3920 terminology; specified error conditions; specified ZLIB as mandatory to implement.</p></remark>
</revision>
<revision>
<version>0.4</version>
<date>2005-05-11</date>
<initials>psa</initials>
<remark>Corrected several errors in the schemas.</remark>
<remark><p>Corrected several errors in the schemas.</p></remark>
</revision>
<revision>
<version>0.3</version>
<date>2005-03-28</date>
<initials>psa</initials>
<remark>Specified compression methods registry.</remark>
<remark><p>Specified compression methods registry.</p></remark>
</revision>
<revision>
<version>0.2</version>
<date>2004-09-28</date>
<initials>psa</initials>
<remark>Fixed TLS text per list discussion.</remark>
<remark><p>Fixed TLS text per list discussion.</p></remark>
</revision>
<revision>
<version>0.1</version>
<date>2004-07-16</date>
<initials>jjh/psa</initials>
<remark>Initial version.</remark>
<remark><p>Initial version.</p></remark>
</revision>
</header>
@ -190,16 +196,19 @@
</section1>
<section1 topic='Mandatory-to-Implement Technologies' anchor='mandatory'>
<p>A compliant implementation MUST implement the ZLIB compression method as specified in &rfc1950;. All other methods are OPTIONAL; such methods may be defined in future specifications or by registration as described in the <link url='#registrar-methods'>Compression Methods Registry</link> section of this document.</p>
<p>Support for the ZLIB compression method as specified in &rfc1950; is REQUIRED.</p>
<p>All other methods are OPTIONAL; such methods may be defined in future specifications or by registration as described in the <link url='#registrar-methods'>Compression Methods Registry</link> section of this document.</p>
</section1>
<section1 topic='Optional Technologies' anchor='optional'>
<p>Implementations MAY support the following methods in addition to ZLIB:</p>
<ul>
<li>&xep0229;</li>
</ul>
</section1>
<section1 topic='Implementation Notes' anchor='impl'>
<section2 topic='ZLIB' anchor='impl-zlib'>
<p>When using ZLIB for compression, the sending application SHOULD complete a partial flush of ZLIB when its current send is complete. Note that this statement is deliberately somewhat vague: the sending application may end up performing this partial flush after sending every XML stanza, but on the other hand may perform the partial flush only after sending a group of stanzas that have been queued up for delivery. When to flush the state of the compression application is up to the sending application.</p>
</section2>
<section2 topic='LZW (DCLZ)' anchor='impl-lzw'>
<p>The "LZW" compression algorithm was originally developed by Abraham Lempel and Jacob Ziv, subsequently improved by Terry Welch <note>See "A Technique for High-Performance Data Compression", <cite>Computer</cite> (June 1984), pp. 8-19.</note>, and patented by Sperry Corporation (later Unisys Corporation) as U.S. Patent Number 4,464,650 <note>See &lt;<link url='http://patft.uspto.gov/netacgi/nph-Parser?patentnumber=4,464,650'>http://patft.uspto.gov/netacgi/nph-Parser?patentnumber=4,464,650</link>&gt;.</note>. This patent expired on June 20, 2003 <note>See &lt;<link url='http://www.unisys.com/about__unisys/lzw'>http://www.unisys.com/about__unisys/lzw</link>&gt;.</note> and therefore implementations are no longer patent-encumbered. If this algorithm is supported, implementations SHOULD follow the specification provided by Ecma International in &ecma151; under the name "DCLZ".</p>
</section2>
<p>When using ZLIB for compression, the sending application SHOULD complete a partial flush of ZLIB when its current send is complete. Note that this statement is deliberately somewhat vague: the sending application may end up performing this partial flush after sending every XML stanza, but on the other hand may perform the partial flush only after sending a group of stanzas that have been queued up for delivery. When to flush the state of the compression application is up to the sending application.</p>
</section1>
<section1 topic='Security Considerations' anchor='security'>
@ -232,11 +241,6 @@
</section3>
<section3 topic='Registration' anchor='registrar-methods-init'>
<code><![CDATA[
<method>
<name>lzw</name>
<desc>the LZW (DCLZ) compression method</desc>
<doc>ECMA-151</doc>
</method>
<method>
<name>zlib</name>
<desc>the ZLIB compression method</desc>