From: TJ S. <cas...@us...> - 2012-05-14 20:22:54
|
Update of /cvsroot/pdd/www.proftpd.org/docs/contrib In directory vz-cvs-3.sog:/tmp/cvs-serv11541 Modified Files: index.html Added Files: mod_deflate.html mod_qos.html Log Message: Updating contrib module docs. --- NEW FILE: mod_deflate.html --- <!-- $Id: mod_deflate.html,v 1.1 2012/05/14 20:22:52 castaglia Exp $ --> <!-- $Source: /cvsroot/pdd/www.proftpd.org/docs/contrib/mod_deflate.html,v $ --> <html> <head> <title>ProFTPD module mod_deflate</title> </head> <body bgcolor=white> <hr> <center> <h2><b>ProFTPD module <code>mod_deflate</code></b></h2> </center> <hr><br> <p> The <code>mod_deflate</code> module is designed to provide support for <code>MODE Z</code> commands, which allows FTP clients and servers to compress data for transfer. <p> This module is contained in the <code>mod_deflate.c</code> file for ProFTPD 1.3.<i>x</i>, and is not compiled by default. Installation instructions are discussed <a href="#Installation">here</a>. Detailed documentation on <code>mod_deflate</code> usage can be found <a href="#Usage">here</a>. <p> The most current version of <code>mod_deflate</code> can be found at: <pre> <a href="http://www.castaglia.org/proftpd/">http://www.castaglia.org/proftpd/</a> </pre> <h2>Author</h2> <p> Please contact TJ Saunders <tj <i>at</i> castaglia.org> with any questions, concerns, or suggestions regarding this module. <h2>Directives</h2> <ul> <li><a href="#DeflateEngine">DeflateEngine</a> <li><a href="#DeflateLog">DeflatefLog</a> </ul> <p> <hr> <h3><a name="DeflateEngine">DeflateEngine</a></h3> <strong>Syntax:</strong> DeflateEngine <em>on|off</em><br> <strong>Default:</strong> off<br> <strong>Context:</strong> server config, <code><VirtualHost></code>, <code><Global></code><br> <strong>Module:</strong> mod_deflate<br> <strong>Compatibility:</strong> 1.3.0rc1 and later <p> The <code>DeflateEngine</code> directive enables or disables the <code>mod_deflate</code> compression functionality. If set to <em>on</em>, then <code>mod_deflate</code> will advertise support for <code>MODE Z</code> compression via the <code>FEAT</code> command, and handle <code>MODE Z</code> requests appropriately. <p> <hr> <h3><a name="DeflateLog">DeflateLog</a></h3> <strong>Syntax:</strong> DeflateLog <em>path|"none"</em><br> <strong>Default:</strong> None<br> <strong>Context:</strong> server config, <code><VirtualHost></code>, <code><Global></code><br> <strong>Module:</strong> mod_deflate<br> <strong>Compatibility:</strong> 1.3.0rc1 and later <p> The <code>DeflateLog</code> directive is used to a specify a log file for <code>mod_deflate</code> reporting and debugging. The <em>path</em> parameter must be the full path to the file to use for logging. Note that this path must <b>not</b> be to a world-writable directory and, unless <code>AllowLogSymlinks</code> is explicitly set to <em>on</em> (generally a bad idea), the path must <b>not</b> be a symbolic link. <p> If <em>path</em> is "none", no logging will be done at all. <p> <hr> <h2><a name="Installation">Installation</a></h2> To install <code>mod_deflate</code>, copy the <code>mod_deflate.c</code> file into: <pre> <i>proftpd-dir</i>/contrib/ </pre> after unpacking the latest proftpd-1.3.<i>x</i> source code. Then follow the usual steps for using third-party modules in proftpd: <pre> ./configure --with-modules=mod_deflate make make install </pre> <p> <hr> <h2><a name="Usage">Usage</a></h2> <p> Example <code>mod_deflate</code> configuration: <pre> <IfModule mod_deflate.c> DeflateEngine on DeflateLog /var/log/proftpd/deflate.log </IfModule> </pre> <p> Sites that run <code>proftpd</code> 1.3.0 should disable sendfile use when using <code>mod_deflate</code>, as the two features do not interoperate well: <pre> <IfModule mod_deflate.c> DeflateEngine on DeflateLog /var/log/proftpd/deflate.log UseSendfile off </IfModule> </pre> <p><a name="FAQ"> <b>Frequently Asked Questions</b><br> <p><a name="DeflateRFC2228"> <font color=red>Question</font>: I have compiled and configured <code>mod_deflate</code> properly in my <code>proftpd</code>, but I still can't use the MODE Z functionality. In my client, I see the following error. Why? <pre> 501 'MODE Z' unrecognized transfer mode </pre> <font color=blue>Answer</font>: The most likely culprit is that your FTP client is using an RFC 2228 protection mechanism (<i>e.g.</i> SSL/TLS). In the <code>DeflateLog</code>, you might see a message like: <pre> Jul 21 23:01:37 mod_deflate/0.3.2[31084]: declining MODE Z (RFC2228 mechanism 'TLS' in effect) </pre> <p> There are two reasons for the current behavior. First, the SSL/TLS ciphersuite that is negotiated can (depending on the ciphersuite) already include compression of the encrypted data -- in which case, <code>MODE Z</code> is redundant (and in effect inefficient, as it would waste CPU cycles trying to re-compress already-compressed data). Second, the internal ProFTPD APIs that <code>mod_deflate</code> uses are the same APIs that <code>mod_tls</code> uses; and that API does not currently handle chaining together of registered handlers. This would be needed in order to support <code>mod_deflate</code>'s <code>MODE Z</code> functionality <i>and</i> the <code>mod_tls</code> encryption at the same time. <p><a name="DeflateDataError"> <font color=red>Question</font>: I'm uploading a file using <code>MODE Z</code>, but the upload always fails. In the <code>DeflateLog</code>, I see: <pre> error inflating data: [-3] Data error </pre> What is going wrong? It is a <code>mod_deflate</code> bug?<br> <font color=blue>Answer</font>: The most common cause of this error is when the client is trying to upload a binary file (<i>e.g.</i> PDF, MPG, <i>etc</i>) in <a href="http://www.proftpd.org/docs/howto/ASCII.html">ASCII</a> mode. <p> If <code>MODE Z</code> is not used in cases like this, the upload succeeds, but the uploaded file on the server is corrupted. When <code>MODE Z</code> is in effect, the corruption (translation of newlines inappropriately) is detected earlier (since <code>mod_deflate</code> can't uncompress the compressed data properly, hence the report of a "Data error"), and the upload fails. <p> The solution is make sure that the client uploads (and downloads) non-ASCII files as binary files, not as ASCII files. <p> <hr><br> Author: <i>$Author: castaglia $</i><br> Last Updated: <i>$Date: 2012/05/14 20:22:52 $</i><br> <br><hr> <font size=2><b><i> © Copyright 2006-2010 TJ Saunders<br> All Rights Reserved<br> </i></b></font> <hr><br> </body> </html> Index: index.html =================================================================== RCS file: /cvsroot/pdd/www.proftpd.org/docs/contrib/index.html,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- index.html 9 Nov 2011 23:58:49 -0000 1.5 +++ index.html 14 May 2012 20:22:52 -0000 1.6 @@ -47,6 +47,11 @@ </dd> <p> + <dt>The <a href="mod_deflate.html"><code>mod_deflate</code></a> module + <dd>For suppporting <code>MODE Z</code> compression of data transfers + </dd> + + <p> <dt>The <a href="mod_dynmasq.html"><code>mod_dynmasq</code></a> module <dd>For automatically refreshing IP addresses of dynamic DNS names </dd> @@ -74,6 +79,11 @@ </dd> <p> + <dt>The <a href="mod_qos.html"><code>mod_qos</code></a> module + <dd>For configuring site-specific Quality of Service (QOS) packet values + </dd> + + <p> <dt>The <a href="mod_quotatab.html"><code>mod_quotatab</code></a> module <dd>Adds quota support for <code>proftpd</code> </dd> --- NEW FILE: mod_qos.html --- <!-- $Id: mod_qos.html,v 1.1 2012/05/14 20:22:52 castaglia Exp $ --> <!-- $Source: /cvsroot/pdd/www.proftpd.org/docs/contrib/mod_qos.html,v $ --> <html> <head> <title>ProFTPD module mod_qos</title> </head> <body bgcolor=white> <hr> <center> <h2><b>ProFTPD module <code>mod_qos</code></b></h2> </center> <hr><br> <p> The <code>mod_qos</code> module can be used to set the Differentiated Services field (<a href="http://www.faqs.org/rfcs/rfc2474.html">RFC2474</a>) of IP packet headers. This can dramatically aid in the handling of these packets in the network, depending on the network QoS configuration. <p> This module is contained in the <code>mod_qos</code> file for ProFTPD 1.3.<i>x</i>, and is not compiled by default. Installation instructions are discussed <a href="#Installation">here</a>. <p> The most current version of <code>mod_qos</code> is distributed with the <code>proftpd<code> source code. <h2>Directives</h2> <ul> <li><a href="#QoSOptions">QoSOptions</a> </ul> <hr> <h2><a name="QoSOptions">QoSOptions</a></h2> <strong>Syntax:</strong> QoSOptions <em>"ctrlqos" value|"dataqos" value</em><br> <strong>Default:</strong> <em>None</em><br> <strong>Context:</strong> "server config", <code><VirtualHost></code><br> <strong>Module:</strong> mod_qos<br> <strong>Compatibility:</strong> 1.3.4rc1 and later <p> The <code>QoSOptions</code> directive configures the QoS bits to use for the control and/or data connections. <p> The possible values to use are: <ul> <li>cs0 <li>cs1 <li>cs2 <li>cs3 <li>cs4 <li>cs5 <li>cs6 <li>cs7 <li>af11 <li>af12 <li>af13 <li>af21 <li>af22 <li>af23 <li>af31 <li>af32 <li>af33 <li>af41 <li>af42 <li>af43 </ul> See <a href="http://www.faqs.org/rfcs/rfc2474.html">RFC2474</a> for a better discussion of these values. <p> <b>Note</b> that while the following values are also supported, their use is deprecated, and can have adverse effects on TCP congestion control: <ul> <li>lowcost <li>lowdelay <li>mincost <li>reliability <li>throughput </ul> <p> <hr> <h2><a name="Installation">Installation</a></h2> For including <code>mod_qos</code> as a staticly linked module in your <code>proftpd</code>, use: <pre> ./configure --with-modules=mod_qos </pre> Alternatively, <code>mod_qos</code> could be built as a DSO module: <pre> ./configure --enable-dso --with-shared=mod_qos </pre> Then follow the usual steps: <pre> make make install </pre> <p> <hr><br> Author: <i>$Author: castaglia $</i><br> Last Updated: <i>$Date: 2012/05/14 20:22:52 $</i><br> <br><hr> <font size=2><b><i> © Copyright 2010 TJ Saunders<br> All Rights Reserved<br> </i></b></font> <hr><br> </body> </html> |