You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by bu...@apache.org on 2013/08/29 12:15:48 UTC

svn commit: r876590 [2/5] - in /websites/staging/mina/trunk/content: ./ asyncweb-project/ ftpserver-project/ mina-project/ mina-project/userguide/ mina-project/userguide/ch1-getting-started/ mina-project/userguide/ch10-executor-filter/ mina-project/use...

Modified: websites/staging/mina/trunk/content/ftpserver-project/download_1.0.5.html
==============================================================================
--- websites/staging/mina/trunk/content/ftpserver-project/download_1.0.5.html (original)
+++ websites/staging/mina/trunk/content/ftpserver-project/download_1.0.5.html Thu Aug 29 10:15:45 2013
@@ -144,20 +144,20 @@
 <li>Download the asc signature file for the relevant distribution</li>
 <li>
 <p>Verify the signatures using the following commands, depending on your use of PGP or GPG:</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">pgpk</span> <span class="o">-</span><span class="n">a</span> <span class="n">KEYS</span>
-<span class="nv">$</span> <span class="nv">pgpv</span> <span class="n">ftpserver</span><span class="o">-</span><span class="mf">1.0.5</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span>
+<div class="codehilite"><pre>$ <span class="n">pgpk</span> <span class="o">-</span><span class="n">a</span> <span class="n">KEYS</span>
+$ <span class="n">pgpv</span> <span class="n">ftpserver</span><span class="o">-</span>1<span class="p">.</span>0<span class="p">.</span>5<span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">asc</span>
 </pre></div>
 
 
 <p>or </p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">pgp</span> <span class="o">-</span><span class="n">ka</span> <span class="n">KEYS</span>
-<span class="nv">$</span> <span class="nv">pgp</span> <span class="n">ftpserver</span><span class="o">-</span><span class="mf">1.0.5</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span>
+<div class="codehilite"><pre>$ <span class="n">pgp</span> <span class="o">-</span><span class="n">ka</span> <span class="n">KEYS</span>
+$ <span class="n">pgp</span> <span class="n">ftpserver</span><span class="o">-</span>1<span class="p">.</span>0<span class="p">.</span>5<span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">asc</span>
 </pre></div>
 
 
 <p>or</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">gpg</span> <span class="o">--</span><span class="nb">import</span> <span class="n">KEYS</span>
-<span class="nv">$</span> <span class="nv">gpg</span> <span class="o">--</span><span class="n">verify</span> <span class="n">ftpserver</span><span class="o">-</span><span class="mf">1.0.5</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span>
+<div class="codehilite"><pre>$ <span class="n">gpg</span> <span class="o">--</span><span class="n">import</span> <span class="n">KEYS</span>
+$ <span class="n">gpg</span> <span class="o">--</span><span class="n">verify</span> <span class="n">ftpserver</span><span class="o">-</span>1<span class="p">.</span>0<span class="p">.</span>5<span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">asc</span>
 </pre></div>
 
 
@@ -206,7 +206,7 @@
 </tbody>
 </table>
 <h3 id="svn-tag-checkout">SVN Tag Checkout</h3>
-<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">http:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/mina/</span><span class="n">ftpserver</span><span class="sr">/tags/</span><span class="mf">1.0.5</span>
+<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">svn</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">mina</span><span class="o">/</span><span class="n">ftpserver</span><span class="o">/</span><span class="n">tags</span><span class="o">/</span>1<span class="p">.</span>0<span class="p">.</span>5
 </pre></div>
 
                 </div><!-- rightColumn -->

Modified: websites/staging/mina/trunk/content/ftpserver-project/download_1.0.6.html
==============================================================================
--- websites/staging/mina/trunk/content/ftpserver-project/download_1.0.6.html (original)
+++ websites/staging/mina/trunk/content/ftpserver-project/download_1.0.6.html Thu Aug 29 10:15:45 2013
@@ -144,20 +144,20 @@
 <li>Download the asc signature file for the relevant distribution</li>
 <li>
 <p>Verify the signatures using the following commands, depending on your use of PGP or GPG:</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">pgpk</span> <span class="o">-</span><span class="n">a</span> <span class="n">KEYS</span>
-<span class="nv">$</span> <span class="nv">pgpv</span> <span class="n">ftpserver</span><span class="o">-</span><span class="mf">1.0.6</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span>
+<div class="codehilite"><pre>$ <span class="n">pgpk</span> <span class="o">-</span><span class="n">a</span> <span class="n">KEYS</span>
+$ <span class="n">pgpv</span> <span class="n">ftpserver</span><span class="o">-</span>1<span class="p">.</span>0<span class="p">.</span>6<span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">asc</span>
 </pre></div>
 
 
 <p>or </p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">pgp</span> <span class="o">-</span><span class="n">ka</span> <span class="n">KEYS</span>
-<span class="nv">$</span> <span class="nv">pgp</span> <span class="n">ftpserver</span><span class="o">-</span><span class="mf">1.0.6</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span>
+<div class="codehilite"><pre>$ <span class="n">pgp</span> <span class="o">-</span><span class="n">ka</span> <span class="n">KEYS</span>
+$ <span class="n">pgp</span> <span class="n">ftpserver</span><span class="o">-</span>1<span class="p">.</span>0<span class="p">.</span>6<span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">asc</span>
 </pre></div>
 
 
 <p>or</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">gpg</span> <span class="o">--</span><span class="nb">import</span> <span class="n">KEYS</span>
-<span class="nv">$</span> <span class="nv">gpg</span> <span class="o">--</span><span class="n">verify</span> <span class="n">ftpserver</span><span class="o">-</span><span class="mf">1.0.6</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span>
+<div class="codehilite"><pre>$ <span class="n">gpg</span> <span class="o">--</span><span class="n">import</span> <span class="n">KEYS</span>
+$ <span class="n">gpg</span> <span class="o">--</span><span class="n">verify</span> <span class="n">ftpserver</span><span class="o">-</span>1<span class="p">.</span>0<span class="p">.</span>6<span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span><span class="p">.</span><span class="n">asc</span>
 </pre></div>
 
 
@@ -206,7 +206,7 @@
 </tbody>
 </table>
 <h3 id="svn-tag-checkout">SVN Tag Checkout</h3>
-<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">http:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/mina/</span><span class="n">ftpserver</span><span class="sr">/tags/</span><span class="mf">1.0.6</span>
+<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">svn</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">mina</span><span class="o">/</span><span class="n">ftpserver</span><span class="o">/</span><span class="n">tags</span><span class="o">/</span>1<span class="p">.</span>0<span class="p">.</span>6
 </pre></div>
 
                 </div><!-- rightColumn -->

Modified: websites/staging/mina/trunk/content/ftpserver-project/draft-twine-ftpmd5-00.html
==============================================================================
--- websites/staging/mina/trunk/content/ftpserver-project/draft-twine-ftpmd5-00.html (original)
+++ websites/staging/mina/trunk/content/ftpserver-project/draft-twine-ftpmd5-00.html Thu Aug 29 10:15:45 2013
@@ -111,6 +111,7 @@
 <div class="codehilite"><pre>INTERNET-DRAFT                                   JRTwine Software, LLC
 draft-twine-ftpmd5-00.txt                                    May, 2002
 
+
         The &#39;MD5&#39; and &quot;MMD5&quot; FTP Command Extensions
 
 Status of This Document
@@ -135,6 +136,7 @@ Status of This Document
     The list of Internet-Draft Shadow Directories can be accessed at
     http://www.ietf.org/shadow.html
 
+
 Abstract
 
     This document specifies two additions to the File Transfer Protocol
@@ -150,12 +152,14 @@ Abstract
     tampering and/or corruption that may occurred while &quot;on the wire&quot;,
     or possibly while the file was on the Server (a virus infection).
 
+
 Copyright Notice
 
    This document is in the public domain.  Any and all copyright
    protection that might apply in any jurisdiction is expressly
    disclaimed.
 
+
 Comments
 
     Comments should be directed to James R. Twine (jtwine@jrtwine.com).
@@ -178,6 +182,47 @@ Table of Contents
     4.   References . . . . . . . . . . . . . . . . . . . . . . . . . 6
     5.   Author&#39;s Address . . . . . . . . . . . . . . . . . . . . . . 6
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 J.Twine                      Internet-Draft                   [Page 2]
 
 INTERNET-DRAFT   The &#39;MD5&#39; and &quot;MMD5&quot; FTP Command Extensions   May 2002
@@ -188,6 +233,7 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
     community in order to solicit their reactions to the proposals
     contained in it.
 
+
 2.  Rational
 
    FTP is still very much in use on the Internet.  These days, some
@@ -208,6 +254,7 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
    implementations use them, alleviates some of the user intervention
    that would otherwise be required.
 
+
 3.  Server Requirements
 
    FTP Servers would have to implement a new server-side command,
@@ -234,6 +281,7 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
    things like the file becoming corrupted or otherwise tampered with
    after the &quot;known good&quot; MD5 checksum was generated.
 
+
 J.Twine                      Internet-Draft                   [Page 3]
 
 INTERNET-DRAFT   The &#39;MD5&#39; and &quot;MMD5&quot; FTP Command Extensions   May 2002
@@ -250,6 +298,7 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
    should normally be restricted to the directory tree and/or files
    that the connected user would normally have access to.
 
+
 3.1 Command Format (MD5)
 
    The &quot;MD5&quot; command is used to obtain a MD5 checksum for a single
@@ -299,6 +348,7 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
         C&gt; MD5 &quot;..&quot;
         S&gt; 504 Command Not Implemented for the Specified Argument
 
+
    This third example demonstrates a request for a MD5 checksum of a
    file using a relative path:
 
@@ -339,6 +389,7 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
    invalid, the server would return this error code (i.e. it would 
    no MD5 checksums at all).
 
+
 3.2.1 MMD5 Examples
 
     This first example demonstrates a request for a MD5 checksum of a 
@@ -347,6 +398,7 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
       C&gt; MMD5 filename.ext
       S&gt; 251 filename.ext E67DED2886048D308532042B777D53CF
 
+
 J.Twine                      Internet-Draft                   [Page 5]
 
 INTERNET-DRAFT   The &#39;MD5&#39; and &quot;MMD5&quot; FTP Command Extensions   May 2002
@@ -358,12 +410,14 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
         S&gt; 252 filename.ext E67DED2886048D308532042B777D53CF, 
             &quot;../SomeDir/A File.txt&quot; 604E67DED8D308B777D53CF532042288
 
+
     This third example demonstrates a request for the MD5 checksums of
     a file and a directory:
 
       C&gt; MD5 filename.ext, &quot;..&quot;
       S&gt; 504 Command Not Implemented for the Specified Argument
 
+
 4.  References
 
     [1]  Postel, J., Reynolds J., &quot;Instructions to RFC Authors&quot;,
@@ -378,6 +432,7 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
     [4]  Various, &quot;Guidelines to Authors of Internet-Drafts&quot;, 
         http://www.ietf.org/ietf/1id-guidelines.txt
 
+
 5.  Author&#39;s Address
 
    James R. Twine
@@ -389,6 +444,20 @@ INTERNET-DRAFT   The &#39;MD5&#39; and &
    Phone: +1 603-644-1307
    EMail: jtwine@jrtwine.com
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 J.Twine                      Internet-Draft                   [Page 6]
 </pre></div>
 

Modified: websites/staging/mina/trunk/content/ftpserver-project/faq.html
==============================================================================
--- websites/staging/mina/trunk/content/ftpserver-project/faq.html (original)
+++ websites/staging/mina/trunk/content/ftpserver-project/faq.html Thu Aug 29 10:15:45 2013
@@ -107,8 +107,10 @@
       <div id="rightColumn">
 
 
-<p><H1>FAQ</H1></p>
-<p><H2>General</H2></p>
+<H1>FAQ</H1>
+
+<H2>General</H2>
+
 <div class="toc">
 <ul>
 <li><a href="#my-server-fails-with-javanetsocketexception-too-many-files-open">My server fails with java.net.SocketException: Too many files open</a></li>
@@ -193,7 +195,7 @@
 <p>JDBC driver Jar file should be in CLASSPATH or it has to be copied in the INSTALL_DIR/common/lib directory. Did you specify fully qualified JDBC driver class name in config.user-manager.jdbc-driver configuration parameter?</p>
 <h3 id="i-am-unable-to-run-ftpserver-on-top-of-glassfish-although-it-is-running-correctly-over-tomcat">I am unable to run FtpServer on top of Glassfish although it is running correctly over tomcat.</h3>
 <p>This can be caused by Glassfish's QuickStartup mode which was the default one in some versions. In order to disable quick startup, add the following line to your domain.xml file:</p>
-<div class="codehilite"><pre><span class="n">com</span><span class="o">.</span><span class="n">sun</span><span class="o">.</span><span class="n">enterprise</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">ss</span><span class="o">.</span><span class="n">ASQuickStartup</span><span class="o">=</span><span class="n">false</span>
+<div class="codehilite"><pre><span class="n">com</span><span class="p">.</span><span class="n">sun</span><span class="p">.</span><span class="n">enterprise</span><span class="p">.</span><span class="n">server</span><span class="p">.</span><span class="n">ss</span><span class="p">.</span><span class="n">ASQuickStartup</span><span class="p">=</span><span class="n">false</span>
 </pre></div>
 
                 </div><!-- rightColumn -->

Modified: websites/staging/mina/trunk/content/ftpserver-project/ftpserver_commands.html
==============================================================================
--- websites/staging/mina/trunk/content/ftpserver-project/ftpserver_commands.html (original)
+++ websites/staging/mina/trunk/content/ftpserver-project/ftpserver_commands.html Thu Aug 29 10:15:45 2013
@@ -112,217 +112,217 @@
 <h2 id="abor">ABOR</h2>
 <p>Aborts the previous FTP service command and any associated transfer of data.</p>
 <h3 id="server-replies">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">226</span> <span class="n">ABOR</span> <span class="n">command</span> <span class="n">successful</span><span class="o">.</span>
+<div class="codehilite"><pre>226 <span class="n">ABOR</span> <span class="n">command</span> <span class="n">successful</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="acct">ACCT</h2>
 <p>Provides the user's account. Not used by FtpServer.</p>
 <h3 id="server-replies_1">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">202</span> <span class="n">Command</span> <span class="n">ACCT</span> <span class="ow">not</span> <span class="n">implemented</span><span class="o">.</span>
+<div class="codehilite"><pre>202 <span class="n">Command</span> <span class="n">ACCT</span> <span class="n">not</span> <span class="n">implemented</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="appe">APPE</h2>
 <p>Appends data to the end of a file on the remote host. If the file does not already exist, it is created. This command must be preceded by a PORT or PASV command.</p>
 <h3 id="server-replies_2">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Not</span> <span class="n">a</span> <span class="n">plain</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Permission</span> <span class="n">denied</span><span class="o">.</span>
-<span class="mi">150</span> <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">425</span> <span class="n">Cannot</span> <span class="nb">open</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">426</span> <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">551</span> <span class="n">Error</span> <span class="n">on</span> <span class="n">output</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">226</span> <span class="n">Transfer</span> <span class="n">complete</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+550 <span class="n">Not</span> <span class="n">a</span> <span class="n">plain</span> <span class="n">file</span><span class="p">.</span>
+550 <span class="n">Permission</span> <span class="n">denied</span><span class="p">.</span>
+150 <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+425 <span class="n">Cannot</span> <span class="n">open</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+426 <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="p">.</span>
+551 <span class="n">Error</span> <span class="n">on</span> <span class="n">output</span> <span class="n">file</span><span class="p">.</span>
+226 <span class="n">Transfer</span> <span class="n">complete</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="auth">AUTH</h2>
 <p>Establishes SSL encrypted session. Only SSL type is supported.</p>
 <h3 id="server-replies_3">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">431</span> <span class="n">Service</span> <span class="n">is</span> <span class="n">unavailable</span><span class="o">.</span>
-<span class="mi">234</span> <span class="n">AUTH</span> <span class="n">command</span> <span class="n">okay</span><span class="p">;</span> <span class="n">starting</span> <span class="n">SSL</span> <span class="n">connection</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+431 <span class="n">Service</span> <span class="n">is</span> <span class="n">unavailable</span><span class="p">.</span>
+234 <span class="n">AUTH</span> <span class="n">command</span> <span class="n">okay</span><span class="p">;</span> <span class="n">starting</span> <span class="n">SSL</span> <span class="n">connection</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="cdup">CDUP</h2>
 <p>Change to parent directory.</p>
 <h3 id="server-replies_4">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">250</span> <span class="n">Command</span> <span class="n">okay</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">No</span> <span class="n">such</span> <span class="n">directory</span><span class="o">.</span>
+<div class="codehilite"><pre>250 <span class="n">Command</span> <span class="n">okay</span><span class="p">.</span>
+550 <span class="n">No</span> <span class="n">such</span> <span class="n">directory</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="cwd">CWD</h2>
 <p>Changes the working directory. If directory name is not specified, root directory (/) is assumed.</p>
 <h3 id="server-replies_5">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">250</span> <span class="n">Command</span> <span class="n">okay</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">No</span> <span class="n">such</span> <span class="n">directory</span><span class="o">.</span>
+<div class="codehilite"><pre>250 <span class="n">Command</span> <span class="n">okay</span><span class="p">.</span>
+550 <span class="n">No</span> <span class="n">such</span> <span class="n">directory</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="dele">DELE</h2>
 <p>Deletes the file specified by the provided path.</p>
 <h3 id="server-replies_6">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">250</span> <span class="n">Command</span> <span class="n">okay</span><span class="o">.</span>
-<span class="mi">450</span> <span class="n">No</span> <span class="n">permission</span> <span class="n">to</span> <span class="nb">delete</span><span class="o">.</span>
-<span class="mi">450</span> <span class="n">Can</span><span class="err">&#39;</span><span class="n">t</span> <span class="nb">delete</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span> <span class="n">in</span> <span class="n">parameters</span> <span class="ow">or</span> <span class="n">arguments</span><span class="o">.</span>
+<div class="codehilite"><pre>250 <span class="n">Command</span> <span class="n">okay</span><span class="p">.</span>
+450 <span class="n">No</span> <span class="n">permission</span> <span class="n">to</span> <span class="n">delete</span><span class="p">.</span>
+450 <span class="n">Can</span><span class="o">&#39;</span><span class="n">t</span> <span class="n">delete</span> <span class="n">file</span><span class="p">.</span>
+550 <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">file</span><span class="p">.</span>
+501 <span class="n">Syntax</span> <span class="n">error</span> <span class="n">in</span> <span class="n">parameters</span> <span class="n">or</span> <span class="n">arguments</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="eprt">EPRT</h2>
 <p>The EPRT command allows for the specification of an extended address for the data connection. The extended address MUST consist of the network protocol as well as the network and transport addresses. The format of EPRT is EPRT |<net-prt>|<net-addr>|<tcp-port>|</p>
 <h3 id="server-replies_7">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">510</span> <span class="n">EPRT</span> <span class="n">is</span> <span class="n">disabled</span><span class="o">.</span>
-<span class="mi">510</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">553</span> <span class="n">Host</span> <span class="n">unknown</span><span class="o">.</span>
-<span class="mi">510</span> <span class="n">EPRT</span> <span class="n">IP</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">same</span> <span class="n">as</span> <span class="n">client</span> <span class="n">IP</span><span class="o">.</span>
-<span class="mi">552</span> <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">port</span> <span class="n">number</span><span class="o">.</span>
-<span class="mi">200</span> <span class="n">EPRT</span> <span class="n">command</span> <span class="n">okay</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+510 <span class="n">EPRT</span> <span class="n">is</span> <span class="n">disabled</span><span class="p">.</span>
+510 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+553 <span class="n">Host</span> <span class="n">unknown</span><span class="p">.</span>
+510 <span class="n">EPRT</span> <span class="n">IP</span> <span class="n">is</span> <span class="n">not</span> <span class="n">same</span> <span class="n">as</span> <span class="n">client</span> <span class="n">IP</span><span class="p">.</span>
+552 <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">port</span> <span class="n">number</span><span class="p">.</span>
+200 <span class="n">EPRT</span> <span class="n">command</span> <span class="n">okay</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="epsv">EPSV</h2>
 <p>The EPSV command requests that a server listen on a data port and wait for a connection.</p>
 <h3 id="server-replies_8">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">425</span> <span class="n">Cannot</span> <span class="nb">open</span> <span class="n">passive</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">229</span> <span class="n">Entering</span> <span class="n">passive</span> <span class="n">mode</span> <span class="p">(</span><span class="sr">&lt;message&gt;</span><span class="p">)</span><span class="o">.</span>
+<div class="codehilite"><pre>425 <span class="n">Cannot</span> <span class="n">open</span> <span class="n">passive</span> <span class="n">connection</span><span class="p">.</span>
+229 <span class="n">Entering</span> <span class="n">passive</span> <span class="n">mode</span> <span class="p">(</span><span class="o">&lt;</span><span class="n">message</span><span class="o">&gt;</span><span class="p">).</span>
 </pre></div>
 
 
 <h2 id="feat">FEAT</h2>
 <p>Displays the feature list.</p>
 <h3 id="server-replies_9">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">221</span> <span class="n">List</span> <span class="n">of</span> <span class="n">all</span> <span class="n">the</span> <span class="n">extensions</span> <span class="n">supported</span><span class="o">.</span>
+<div class="codehilite"><pre>221 <span class="n">List</span> <span class="n">of</span> <span class="n">all</span> <span class="n">the</span> <span class="n">extensions</span> <span class="n">supported</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="help">HELP</h2>
 <p>Displays the help information.</p>
 <h3 id="server-replies_10">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">214</span> <span class="n">Help</span> <span class="n">information</span><span class="o">.</span>
+<div class="codehilite"><pre>214 <span class="n">Help</span> <span class="n">information</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="lang">LANG</h2>
 <p>A new command "LANG" is added to the FTP command set to allow server-FTP process to determine in which language to present server greetings and the textual part of command responses.</p>
 <h3 id="server-replies_11">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">502</span> <span class="n">Not</span> <span class="n">yet</span> <span class="n">implemented</span><span class="o">.</span>
+<div class="codehilite"><pre>502 <span class="n">Not</span> <span class="n">yet</span> <span class="n">implemented</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="list">LIST</h2>
 <p>This command causes a list to be sent from the server to the passive DTP. If the pathname specifies a directory or other group of files, the server should transfer a list of files in the specified directory. If the pathname specifies a file then the server should send current information on the file. A null argument implies the user's current working or default directory. The data transfer is over the data connection. This command must be preceded by a PORT or PASV command.</p>
 <h3 id="server-replies_12">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">150</span> <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">425</span> <span class="n">Cannot</span> <span class="nb">open</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">426</span> <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">551</span> <span class="n">File</span> <span class="n">listing</span> <span class="n">failed</span><span class="o">.</span>
-<span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">226</span> <span class="n">Closing</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
+<div class="codehilite"><pre>150 <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+425 <span class="n">Cannot</span> <span class="n">open</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+426 <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="p">.</span>
+551 <span class="n">File</span> <span class="n">listing</span> <span class="n">failed</span><span class="p">.</span>
+501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+226 <span class="n">Closing</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="mdtm">MDTM</h2>
 <p>Returns the date and time of when a file was modified.</p>
 <h3 id="server-replies_13">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">File</span> <span class="n">unavailable</span><span class="o">.</span>
-<span class="mi">213</span> <span class="sr">&lt;timestamp&gt;</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+550 <span class="n">File</span> <span class="n">unavailable</span><span class="p">.</span>
+213 <span class="o">&lt;</span><span class="n">timestamp</span><span class="o">&gt;</span>
 </pre></div>
 
 
 <h2 id="mkd">MKD</h2>
 <p>This command causes the directory specified in the pathname to be created as a directory (if the pathname is absolute) or as a subdirectory of the current working directory (if the pathname is relative).</p>
 <h3 id="server-replies_14">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Already</span> <span class="nb">exists</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">No</span> <span class="n">permission</span><span class="o">.</span>
-<span class="mi">250</span> <span class="n">Directory</span> <span class="n">created</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Cannot</span> <span class="n">create</span> <span class="n">directory</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+550 <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">file</span><span class="p">.</span>
+550 <span class="n">Already</span> <span class="n">exists</span><span class="p">.</span>
+550 <span class="n">No</span> <span class="n">permission</span><span class="p">.</span>
+250 <span class="n">Directory</span> <span class="n">created</span><span class="p">.</span>
+550 <span class="n">Cannot</span> <span class="n">create</span> <span class="n">directory</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="mlsd">MLSD</h2>
 <p>Causes a list to be sent from the server to the passive DTP</p>
 <h3 id="server-replies_15">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">150</span> <span class="n">File</span> <span class="n">status</span> <span class="n">okay</span><span class="p">;</span> <span class="n">about</span> <span class="n">to</span> <span class="nb">open</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">226</span> <span class="n">Closing</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">425</span> <span class="n">Can</span><span class="err">&#39;</span><span class="n">t</span> <span class="nb">open</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">426</span> <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span> <span class="n">in</span> <span class="n">parameters</span> <span class="ow">or</span> <span class="n">arguments</span><span class="o">.</span>
-<span class="mi">551</span> <span class="n">File</span> <span class="n">listing</span> <span class="n">failed</span><span class="o">.</span>
+<div class="codehilite"><pre>150 <span class="n">File</span> <span class="n">status</span> <span class="n">okay</span><span class="p">;</span> <span class="n">about</span> <span class="n">to</span> <span class="n">open</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+226 <span class="n">Closing</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+425 <span class="n">Can</span><span class="o">&#39;</span><span class="n">t</span> <span class="n">open</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+426 <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="p">.</span>
+501 <span class="n">Syntax</span> <span class="n">error</span> <span class="n">in</span> <span class="n">parameters</span> <span class="n">or</span> <span class="n">arguments</span><span class="p">.</span>
+551 <span class="n">File</span> <span class="n">listing</span> <span class="n">failed</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="mode">MODE</h2>
 <p>Set data transfer mode. The valid values are S and Z.</p>
 <h3 id="server-replies_16">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">504</span> <span class="n">Not</span> <span class="n">implemented</span> <span class="k">for</span> <span class="n">this</span> <span class="n">command</span><span class="o">.</span>
-<span class="mi">200</span> <span class="n">Command</span> <span class="n">okay</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+504 <span class="n">Not</span> <span class="n">implemented</span> <span class="k">for</span> <span class="n">this</span> <span class="n">command</span><span class="p">.</span>
+200 <span class="n">Command</span> <span class="n">okay</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="nlst">NLST</h2>
 <p>This command causes a directory listing to be sent from server to user site. The pathname should specify a directory or other system-specific file group descriptor; a null argument implies the current directory. The server will return a stream of names of files and no other information.</p>
 <h3 id="server-replies_17">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">150</span> <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">425</span> <span class="n">Cannot</span> <span class="nb">open</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">426</span> <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">551</span> <span class="n">File</span> <span class="n">listing</span> <span class="n">failed</span><span class="o">.</span>
-<span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">226</span> <span class="n">Closing</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
+<div class="codehilite"><pre>150 <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+425 <span class="n">Cannot</span> <span class="n">open</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+426 <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="p">.</span>
+551 <span class="n">File</span> <span class="n">listing</span> <span class="n">failed</span><span class="p">.</span>
+501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+226 <span class="n">Closing</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="noop">NOOP</h2>
 <p>No operation.</p>
 <h3 id="server-replies_18">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">200</span> <span class="n">Command</span> <span class="n">okay</span><span class="o">.</span>
+<div class="codehilite"><pre>200 <span class="n">Command</span> <span class="n">okay</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="opts">OPTS</h2>
 <p>Cause the server use optional features for the command specified.</p>
 <h3 id="server-replies_19">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">500</span> <span class="n">Execution</span> <span class="n">failed</span><span class="o">.</span>
-<span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span> <span class="n">in</span> <span class="n">parameters</span> <span class="ow">or</span> <span class="n">arguments</span><span class="o">.</span>
-<span class="mi">502</span> <span class="n">Command</span> <span class="n">OPTS</span> <span class="ow">not</span> <span class="n">implemented</span> <span class="k">for</span> <span class="o">...</span>
-<span class="n">Additional</span> <span class="k">return</span> <span class="n">codes</span> <span class="n">available</span> <span class="k">for</span> <span class="n">different</span> <span class="n">OPTS</span> <span class="n">commands</span><span class="o">.</span>
+<div class="codehilite"><pre>500 <span class="n">Execution</span> <span class="n">failed</span><span class="p">.</span>
+501 <span class="n">Syntax</span> <span class="n">error</span> <span class="n">in</span> <span class="n">parameters</span> <span class="n">or</span> <span class="n">arguments</span><span class="p">.</span>
+502 <span class="n">Command</span> <span class="n">OPTS</span> <span class="n">not</span> <span class="n">implemented</span> <span class="k">for</span> <span class="p">...</span>
+<span class="n">Additional</span> <span class="k">return</span> <span class="n">codes</span> <span class="n">available</span> <span class="k">for</span> <span class="n">different</span> <span class="n">OPTS</span> <span class="n">commands</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="pass">PASS</h2>
 <p>The argument field is a Telnet string specifying the user's password. This command must be immediately preceded by the USER command.</p>
 <h3 id="server-replies_20">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">503</span> <span class="n">Login</span> <span class="n">with</span> <span class="n">USER</span> <span class="n">first</span><span class="o">.</span>
-<span class="mi">202</span> <span class="n">Already</span> <span class="n">logged</span><span class="o">-</span><span class="n">in</span><span class="o">.</span>
-<span class="mi">421</span> <span class="n">Maximum</span> <span class="n">anonymous</span> <span class="n">login</span> <span class="n">limit</span> <span class="n">has</span> <span class="n">been</span> <span class="n">reached</span><span class="o">.</span>
-<span class="mi">421</span> <span class="n">Maximum</span> <span class="n">login</span> <span class="n">limit</span> <span class="n">has</span> <span class="n">been</span> <span class="n">reached</span><span class="o">.</span>
-<span class="mi">530</span> <span class="n">Authentication</span> <span class="n">failed</span><span class="o">.</span>
-<span class="mi">230</span> <span class="n">User</span> <span class="n">logged</span> <span class="n">in</span><span class="p">,</span> <span class="n">proceed</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+503 <span class="n">Login</span> <span class="n">with</span> <span class="n">USER</span> <span class="n">first</span><span class="p">.</span>
+202 <span class="n">Already</span> <span class="n">logged</span><span class="o">-</span><span class="n">in</span><span class="p">.</span>
+421 <span class="n">Maximum</span> <span class="n">anonymous</span> <span class="n">login</span> <span class="n">limit</span> <span class="n">has</span> <span class="n">been</span> <span class="n">reached</span><span class="p">.</span>
+421 <span class="n">Maximum</span> <span class="n">login</span> <span class="n">limit</span> <span class="n">has</span> <span class="n">been</span> <span class="n">reached</span><span class="p">.</span>
+530 <span class="n">Authentication</span> <span class="n">failed</span><span class="p">.</span>
+230 <span class="n">User</span> <span class="n">logged</span> <span class="n">in</span><span class="p">,</span> <span class="n">proceed</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="pasv">PASV</h2>
 <p>This command requests the server-DTP to listen on a data port (which is not its default data port) and to wait for a connection rather than initiate one upon receipt of a transfer command. The response to this command includes the host and port address this server is listening on.</p>
 <h3 id="server-replies_21">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">425</span> <span class="n">Cannot</span> <span class="nb">open</span> <span class="n">passive</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">227</span> <span class="n">Entering</span> <span class="n">passive</span> <span class="n">mode</span> <span class="p">(</span><span class="sr">&lt;h1,h2,h3,h4,p1,p2&gt;</span><span class="p">)</span>
+<div class="codehilite"><pre>425 <span class="n">Cannot</span> <span class="n">open</span> <span class="n">passive</span> <span class="n">connection</span><span class="p">.</span>
+227 <span class="n">Entering</span> <span class="n">passive</span> <span class="n">mode</span> <span class="p">(</span><span class="o">&lt;</span><span class="n">h1</span><span class="p">,</span><span class="n">h2</span><span class="p">,</span><span class="n">h3</span><span class="p">,</span><span class="n">h4</span><span class="p">,</span><span class="n">p1</span><span class="p">,</span><span class="n">p2</span><span class="o">&gt;</span><span class="p">)</span>
 </pre></div>
 
 
 <h2 id="pbsz">PBSZ</h2>
 <p>protection buffer size.</p>
 <h3 id="server-replies_22">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">200</span> <span class="n">Command</span> <span class="n">okay</span><span class="o">.</span>
+<div class="codehilite"><pre>200 <span class="n">Command</span> <span class="n">okay</span><span class="p">.</span>
 </pre></div>
 
 
@@ -330,195 +330,195 @@
 <p>The argument is a HOST-PORT specification for the data port to be used in data connection. There are defaults for both the user and server data ports, and under normal circumstances this command and its reply are not needed. If this command is used, the argument is the concatenation of a 32-bit internet host address and a 16-bit TCP port address. This address information is broken into 8-bit fields and the value of each field is transmitted as a decimal number (in character string representation). The fields are separated by commas. A port command would be:</p>
 <p>PORT h1,h2,h3,h4,p1,p2</p>
 <h3 id="server-replies_23">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">510</span> <span class="n">Syntax</span> <span class="n">error</span> <span class="n">in</span> <span class="n">parameters</span><span class="o">.</span>
-<span class="mi">510</span> <span class="n">Port</span> <span class="n">is</span> <span class="n">disabled</span><span class="o">.</span>
-<span class="mi">553</span> <span class="n">Host</span> <span class="n">unknown</span><span class="o">.</span>
-<span class="mi">510</span> <span class="n">PORT</span> <span class="n">IP</span> <span class="n">mismatch</span><span class="o">.</span>
-<span class="mi">552</span> <span class="n">Invalid</span> <span class="n">port</span> <span class="n">number</span><span class="o">.</span>
-<span class="mi">200</span> <span class="n">Command</span> <span class="n">PORT</span> <span class="n">okay</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+510 <span class="n">Syntax</span> <span class="n">error</span> <span class="n">in</span> <span class="n">parameters</span><span class="p">.</span>
+510 <span class="n">Port</span> <span class="n">is</span> <span class="n">disabled</span><span class="p">.</span>
+553 <span class="n">Host</span> <span class="n">unknown</span><span class="p">.</span>
+510 <span class="n">PORT</span> <span class="n">IP</span> <span class="n">mismatch</span><span class="p">.</span>
+552 <span class="n">Invalid</span> <span class="n">port</span> <span class="n">number</span><span class="p">.</span>
+200 <span class="n">Command</span> <span class="n">PORT</span> <span class="n">okay</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="prot">PROT</h2>
 <p>Data channel protection level. The supported level values are C, P.</p>
 <h3 id="server-replies_24">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">431</span> <span class="n">Security</span> <span class="n">is</span> <span class="n">disabled</span><span class="o">.</span>
-<span class="mi">504</span> <span class="n">Server</span> <span class="n">does</span> <span class="ow">not</span> <span class="n">understand</span> <span class="n">the</span> <span class="n">specified</span> <span class="n">protection</span> <span class="n">level</span><span class="o">.</span>
-<span class="mi">200</span> <span class="n">Command</span> <span class="n">PROT</span> <span class="n">okay</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+431 <span class="n">Security</span> <span class="n">is</span> <span class="n">disabled</span><span class="p">.</span>
+504 <span class="n">Server</span> <span class="n">does</span> <span class="n">not</span> <span class="n">understand</span> <span class="n">the</span> <span class="n">specified</span> <span class="n">protection</span> <span class="n">level</span><span class="p">.</span>
+200 <span class="n">Command</span> <span class="n">PROT</span> <span class="n">okay</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="pwd">PWD</h2>
 <p>This command causes the name of the current working directory to be returned in the reply.</p>
 <h3 id="server-replies_25">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">257</span> <span class="s">&quot;&lt;current directory&gt;&quot;</span>
+<div class="codehilite"><pre>257 &quot;<span class="o">&lt;</span><span class="n">current</span> <span class="n">directory</span><span class="o">&gt;</span>&quot;
 </pre></div>
 
 
 <h2 id="quit">QUIT</h2>
 <p>Closes connection.</p>
 <h3 id="server-replies_26">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">200</span> <span class="n">Goodbye</span><span class="o">.</span>
+<div class="codehilite"><pre>200 <span class="n">Goodbye</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="rein">REIN</h2>
 <p>Flushes a user, without affecting transfers in progress</p>
 <h3 id="server-replies_27">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">220</span> <span class="n">Service</span> <span class="n">ready</span> <span class="k">for</span> <span class="k">new</span> <span class="n">user</span><span class="o">.</span>
+<div class="codehilite"><pre>220 <span class="n">Service</span> <span class="n">ready</span> <span class="k">for</span> <span class="n">new</span> <span class="n">user</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="rest">REST</h2>
 <p>The argument field represents the server marker at which file transfer is to be restarted. This command does not cause file transfer but skips over the file to the specified data checkpoint. This command shall be immediately followed by the appropriate FTP service command which shall cause file transfer to resume.</p>
 <h3 id="server-replies_28">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">501</span> <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">number</span><span class="o">.</span>
-<span class="mi">501</span> <span class="n">Marker</span> <span class="n">cannot</span> <span class="n">be</span> <span class="n">negetive</span><span class="o">.</span>
-<span class="mi">350</span> <span class="n">Restarting</span> <span class="n">at</span> <span class="sr">&lt;position&gt;</span><span class="o">.</span> <span class="n">Send</span> <span class="n">STORE</span> <span class="ow">or</span> <span class="n">RETRIEVE</span> <span class="n">to</span> <span class="n">initiate</span> <span class="n">transfer</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+501 <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">number</span><span class="p">.</span>
+501 <span class="n">Marker</span> <span class="n">cannot</span> <span class="n">be</span> <span class="n">negetive</span><span class="p">.</span>
+350 <span class="n">Restarting</span> <span class="n">at</span> <span class="o">&lt;</span><span class="n">position</span><span class="o">&gt;</span><span class="p">.</span> <span class="n">Send</span> <span class="n">STORE</span> <span class="n">or</span> <span class="n">RETRIEVE</span> <span class="n">to</span> <span class="n">initiate</span> <span class="n">transfer</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="retr">RETR</h2>
 <p>This command causes the server-DTP to transfer a copy of the file, specified in the pathname, to the server- or user-DTP at the other end of the data connection. The status and contents of the file at the server site shall be unaffected.</p>
 <h3 id="server-replies_29">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">No</span> <span class="n">such</span> <span class="n">file</span> <span class="ow">or</span> <span class="n">directory</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Not</span> <span class="n">a</span> <span class="n">plain</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Permission</span> <span class="n">denied</span><span class="o">.</span>
-<span class="mi">150</span> <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">425</span> <span class="n">Cannot</span> <span class="nb">open</span> <span class="n">the</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">426</span> <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">551</span> <span class="n">Error</span> <span class="n">on</span> <span class="n">input</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">226</span> <span class="n">Transfer</span> <span class="n">complete</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+550 <span class="n">No</span> <span class="n">such</span> <span class="n">file</span> <span class="n">or</span> <span class="n">directory</span><span class="p">.</span>
+550 <span class="n">Not</span> <span class="n">a</span> <span class="n">plain</span> <span class="n">file</span><span class="p">.</span>
+550 <span class="n">Permission</span> <span class="n">denied</span><span class="p">.</span>
+150 <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+425 <span class="n">Cannot</span> <span class="n">open</span> <span class="n">the</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+426 <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="p">.</span>
+551 <span class="n">Error</span> <span class="n">on</span> <span class="n">input</span> <span class="n">file</span><span class="p">.</span>
+226 <span class="n">Transfer</span> <span class="n">complete</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="rmd">RMD</h2>
 <p>This command causes the directory specified in the pathname to be removed as a directory (if the pathname is absolute) or as a subdirectory of the current working directory (if the pathname is relative).</p>
 <h3 id="server-replies_30">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">No</span> <span class="n">permission</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">directory</span><span class="o">.</span>
-<span class="mi">250</span> <span class="n">Directory</span> <span class="n">removed</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Cannot</span> <span class="n">remove</span> <span class="n">directory</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+550 <span class="n">No</span> <span class="n">permission</span><span class="p">.</span>
+550 <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">directory</span><span class="p">.</span>
+250 <span class="n">Directory</span> <span class="n">removed</span><span class="p">.</span>
+550 <span class="n">Cannot</span> <span class="n">remove</span> <span class="n">directory</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="rnfr">RNFR</h2>
 <p>This command specifies the old pathname of the file which is to be renamed. This command must be immediately followed by a RNTO command specifying the new file pathname.</p>
 <h3 id="server-replies_31">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">File</span> <span class="n">unavailable</span><span class="o">.</span>
-<span class="mi">350</span> <span class="n">Requested</span> <span class="n">file</span> <span class="n">action</span> <span class="n">pending</span> <span class="n">further</span> <span class="n">information</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+550 <span class="n">File</span> <span class="n">unavailable</span><span class="p">.</span>
+350 <span class="n">Requested</span> <span class="n">file</span> <span class="n">action</span> <span class="n">pending</span> <span class="n">further</span> <span class="n">information</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="rnto">RNTO</h2>
 <p>This command specifies the new pathname of the file specified in the immediately preceding RNFR command. Together the two commands cause a file to be renamed.</p>
 <h3 id="server-replies_32">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">503</span> <span class="n">Cannot</span> <span class="n">find</span> <span class="n">the</span> <span class="n">file</span> <span class="n">which</span> <span class="n">has</span> <span class="n">to</span> <span class="n">be</span> <span class="n">renamed</span><span class="o">.</span>
-<span class="mi">553</span> <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">file</span> <span class="n">name</span><span class="o">.</span>
-<span class="mi">553</span> <span class="n">No</span> <span class="n">permission</span><span class="o">.</span>
-<span class="mi">250</span> <span class="n">Requested</span> <span class="n">file</span> <span class="n">action</span> <span class="n">okay</span><span class="p">,</span> <span class="n">file</span> <span class="n">renamed</span><span class="o">.</span>
-<span class="mi">553</span> <span class="n">Cannot</span> <span class="nb">rename</span> <span class="n">file</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+503 <span class="n">Cannot</span> <span class="nb">find</span> <span class="n">the</span> <span class="n">file</span> <span class="n">which</span> <span class="n">has</span> <span class="n">to</span> <span class="n">be</span> <span class="n">renamed</span><span class="p">.</span>
+553 <span class="n">Not</span> <span class="n">a</span> <span class="n">valid</span> <span class="n">file</span> <span class="n">name</span><span class="p">.</span>
+553 <span class="n">No</span> <span class="n">permission</span><span class="p">.</span>
+250 <span class="n">Requested</span> <span class="n">file</span> <span class="n">action</span> <span class="n">okay</span><span class="p">,</span> <span class="n">file</span> <span class="n">renamed</span><span class="p">.</span>
+553 <span class="n">Cannot</span> <span class="n">rename</span> <span class="n">file</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="site">SITE</h2>
 <p>Handle Apache FTP Server specific custom commands. Please see the SITE commands page.</p>
 <h3 id="server-replies_33">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">200</span> <span class="n">Command</span> <span class="n">SITE</span> <span class="n">okay</span><span class="o">.</span>
-<span class="mi">502</span> <span class="n">Command</span> <span class="n">SITE</span> <span class="ow">not</span> <span class="n">implemented</span> <span class="k">for</span> <span class="n">this</span> <span class="n">argument</span><span class="o">.</span>
-<span class="mi">500</span> <span class="n">Execution</span> <span class="n">failed</span><span class="o">.</span>
-<span class="mi">530</span> <span class="n">Access</span> <span class="n">denied</span><span class="o">.</span>
+<div class="codehilite"><pre>200 <span class="n">Command</span> <span class="n">SITE</span> <span class="n">okay</span><span class="p">.</span>
+502 <span class="n">Command</span> <span class="n">SITE</span> <span class="n">not</span> <span class="n">implemented</span> <span class="k">for</span> <span class="n">this</span> <span class="n">argument</span><span class="p">.</span>
+500 <span class="n">Execution</span> <span class="n">failed</span><span class="p">.</span>
+530 <span class="n">Access</span> <span class="n">denied</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="size">SIZE</h2>
 <p>Returns the size of the file in bytes.</p>
 <h3 id="server-replies_34">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">No</span> <span class="n">such</span> <span class="n">file</span> <span class="ow">or</span> <span class="n">directory</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Not</span> <span class="n">a</span> <span class="n">plain</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">213</span> <span class="sr">&lt;size&gt;</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+550 <span class="n">No</span> <span class="n">such</span> <span class="n">file</span> <span class="n">or</span> <span class="n">directory</span><span class="p">.</span>
+550 <span class="n">Not</span> <span class="n">a</span> <span class="n">plain</span> <span class="n">file</span><span class="p">.</span>
+213 <span class="o">&lt;</span><span class="nb">size</span><span class="o">&gt;</span>
 </pre></div>
 
 
 <h2 id="stat">STAT</h2>
 <p>This command shall cause a status response to be sent over the control connection in the form of a reply.</p>
 <h3 id="server-replies_35">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">211</span> <span class="n">Statistics</span> <span class="n">information</span><span class="o">.</span>
+<div class="codehilite"><pre>211 <span class="n">Statistics</span> <span class="n">information</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="stor">STOR</h2>
 <p>This command causes the server-DTP to accept the data transferred via the data connection and to store the data as a file at the server site. If the file specified in the pathname exists at the server site, then its contents shall be replaced by the data being transferred. A new file is created at the server site if the file specified in the pathname does not already exist.</p>
 <h3 id="server-replies_36">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Invalid</span> <span class="n">path</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Permission</span> <span class="n">denied</span><span class="o">.</span>
-<span class="mi">150</span> <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">425</span> <span class="n">Cannot</span> <span class="nb">open</span> <span class="n">the</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">426</span> <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">551</span> <span class="n">Error</span> <span class="n">on</span> <span class="n">output</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">226</span> <span class="n">Transfer</span> <span class="n">complete</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+550 <span class="n">Invalid</span> <span class="n">path</span><span class="p">.</span>
+550 <span class="n">Permission</span> <span class="n">denied</span><span class="p">.</span>
+150 <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+425 <span class="n">Cannot</span> <span class="n">open</span> <span class="n">the</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+426 <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="p">.</span>
+551 <span class="n">Error</span> <span class="n">on</span> <span class="n">output</span> <span class="n">file</span><span class="p">.</span>
+226 <span class="n">Transfer</span> <span class="n">complete</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="stou">STOU</h2>
 <p>This command behaves like STOR except that the resultant file is to be created in the current directory under a name unique to that directory. The 250 Transfer Started response must include the name generated.</p>
 <h3 id="server-replies_37">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">550</span> <span class="n">Unique</span> <span class="n">file</span> <span class="n">name</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">550</span> <span class="n">Permission</span> <span class="n">denied</span><span class="o">.</span>
-<span class="mi">150</span> <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">425</span> <span class="n">Cannot</span> <span class="nb">open</span> <span class="n">the</span> <span class="n">data</span> <span class="n">connection</span><span class="o">.</span>
-<span class="mi">250</span> <span class="sr">&lt;file&gt;</span> <span class="n">Transfer</span> <span class="n">started</span><span class="o">.</span>
-<span class="mi">426</span> <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">551</span> <span class="n">Error</span> <span class="n">on</span> <span class="n">output</span> <span class="n">file</span><span class="o">.</span>
-<span class="mi">226</span> <span class="n">Transfer</span> <span class="n">complete</span><span class="o">.</span>
+<div class="codehilite"><pre>550 <span class="n">Unique</span> <span class="n">file</span> <span class="n">name</span> <span class="n">error</span><span class="p">.</span>
+550 <span class="n">Permission</span> <span class="n">denied</span><span class="p">.</span>
+150 <span class="n">Opening</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+425 <span class="n">Cannot</span> <span class="n">open</span> <span class="n">the</span> <span class="n">data</span> <span class="n">connection</span><span class="p">.</span>
+250 <span class="o">&lt;</span><span class="n">file</span><span class="o">&gt;</span> <span class="n">Transfer</span> <span class="n">started</span><span class="p">.</span>
+426 <span class="n">Data</span> <span class="n">connection</span> <span class="n">error</span><span class="p">.</span>
+551 <span class="n">Error</span> <span class="n">on</span> <span class="n">output</span> <span class="n">file</span><span class="p">.</span>
+226 <span class="n">Transfer</span> <span class="n">complete</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="stru">STRU</h2>
 <p>The argument is a single Telnet character code specifying file structure. The allowed argument is F.</p>
 <h3 id="server-replies_38">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">504</span> <span class="n">Command</span> <span class="ow">not</span> <span class="n">implemented</span><span class="o">.</span>
-<span class="mi">200</span> <span class="n">Command</span> <span class="n">okay</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+504 <span class="n">Command</span> <span class="n">not</span> <span class="n">implemented</span><span class="p">.</span>
+200 <span class="n">Command</span> <span class="n">okay</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="syst">SYST</h2>
 <p>This command is used to find out the type of operating system at the server.</p>
 <h3 id="server-replies_39">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">215</span> <span class="n">UNIX</span> <span class="n">Type:</span> <span class="n">Apache</span> <span class="n">FTP</span> <span class="n">Server</span>
+<div class="codehilite"><pre>215 <span class="n">UNIX</span> <span class="n">Type</span><span class="p">:</span> <span class="n">Apache</span> <span class="n">FTP</span> <span class="n">Server</span>
 </pre></div>
 
 
 <h2 id="type">TYPE</h2>
 <p>The argument specifies the representation type. The allowed types are A and I.</p>
 <h3 id="server-replies_40">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">504</span> <span class="n">Command</span> <span class="ow">not</span> <span class="n">implemented</span><span class="o">.</span>
-<span class="mi">200</span> <span class="n">Command</span> <span class="n">okay</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+504 <span class="n">Command</span> <span class="n">not</span> <span class="n">implemented</span><span class="p">.</span>
+200 <span class="n">Command</span> <span class="n">okay</span><span class="p">.</span>
 </pre></div>
 
 
 <h2 id="user">USER</h2>
 <p>The argument field is a Telnet string identifying the user. The user identification is that which is required by the server for access to its file system. This command will normally be the first command transmitted by the user after the control connections are made.</p>
 <h3 id="server-replies_41">Server Replies</h3>
-<div class="codehilite"><pre><span class="mi">501</span> <span class="n">Syntax</span> <span class="n">error</span><span class="o">.</span>
-<span class="mi">230</span> <span class="n">Already</span> <span class="n">logged</span><span class="o">-</span><span class="n">in</span><span class="o">.</span>
-<span class="mi">530</span> <span class="n">Invalid</span> <span class="n">user</span> <span class="n">name</span><span class="o">.</span>
-<span class="mi">530</span> <span class="n">Anonymous</span> <span class="n">connection</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">allowed</span><span class="o">.</span>
-<span class="mi">421</span> <span class="n">Maximum</span> <span class="n">anonymous</span> <span class="n">login</span> <span class="n">limit</span> <span class="n">has</span> <span class="n">been</span> <span class="n">reached</span><span class="o">.</span>
-<span class="mi">421</span> <span class="n">Maximum</span> <span class="n">login</span> <span class="n">limit</span> <span class="n">has</span> <span class="n">been</span> <span class="n">reached</span><span class="o">.</span>
-<span class="mi">331</span> <span class="n">Guest</span> <span class="n">login</span> <span class="n">okay</span><span class="p">,</span> <span class="nb">send</span> <span class="n">your</span> <span class="n">complete</span> <span class="n">e</span><span class="o">-</span><span class="n">mail</span> <span class="n">address</span> <span class="n">as</span> <span class="n">password</span><span class="o">.</span>
-<span class="mi">331</span> <span class="n">User</span> <span class="n">name</span> <span class="n">okay</span><span class="p">,</span> <span class="n">need</span> <span class="n">password</span><span class="o">.</span>
+<div class="codehilite"><pre>501 <span class="n">Syntax</span> <span class="n">error</span><span class="p">.</span>
+230 <span class="n">Already</span> <span class="n">logged</span><span class="o">-</span><span class="n">in</span><span class="p">.</span>
+530 <span class="n">Invalid</span> <span class="n">user</span> <span class="n">name</span><span class="p">.</span>
+530 <span class="n">Anonymous</span> <span class="n">connection</span> <span class="n">is</span> <span class="n">not</span> <span class="n">allowed</span><span class="p">.</span>
+421 <span class="n">Maximum</span> <span class="n">anonymous</span> <span class="n">login</span> <span class="n">limit</span> <span class="n">has</span> <span class="n">been</span> <span class="n">reached</span><span class="p">.</span>
+421 <span class="n">Maximum</span> <span class="n">login</span> <span class="n">limit</span> <span class="n">has</span> <span class="n">been</span> <span class="n">reached</span><span class="p">.</span>
+331 <span class="n">Guest</span> <span class="n">login</span> <span class="n">okay</span><span class="p">,</span> <span class="n">send</span> <span class="n">your</span> <span class="n">complete</span> <span class="n">e</span><span class="o">-</span><span class="n">mail</span> <span class="n">address</span> <span class="n">as</span> <span class="n">password</span><span class="p">.</span>
+331 <span class="n">User</span> <span class="n">name</span> <span class="n">okay</span><span class="p">,</span> <span class="n">need</span> <span class="n">password</span><span class="p">.</span>
 </pre></div>
 
                 </div><!-- rightColumn -->

Modified: websites/staging/mina/trunk/content/ftpserver-project/ftpserver_port_21.html
==============================================================================
--- websites/staging/mina/trunk/content/ftpserver-project/ftpserver_port_21.html (original)
+++ websites/staging/mina/trunk/content/ftpserver-project/ftpserver_port_21.html Thu Aug 29 10:15:45 2013
@@ -110,7 +110,7 @@
 <h1 id="ftpserver-and-port-21-on-linux">FtpServer and port 21 on Linux</h1>
 <p>Under Linux only programs running as root is allowed to bind and listen to ports with port numbers below 1024. However, running a server which communicates with untrusted clients as root is not recommended for security reasons. The standard way to solve this problem in servers such as Apache HTTPD is to start the server as root and bind to the privileged port and then use the setuid C function to change the user ID of the current process. In Java there is no equivalent to the setuid C function in the standard API which means that one would have to use a native library to achieve the same, something which FtpServer doesn't support at the moment.</p>
 <p>So, to have FtpServer listen on port 21 but still run it as a normal user one will have to look at other solutions such as using the firewall built into Linux. It turns out that this is really simple. Using the iptables command we can add a rule to the firewall that rewrites all TCP packets coming in on port 21 so that they are effectively forwarded to port 60021:</p>
-<div class="codehilite"><pre><span class="n">sudo</span> <span class="n">iptables</span> <span class="o">-</span><span class="n">t</span> <span class="n">nat</span> <span class="o">-</span><span class="n">A</span> <span class="n">PREROUTING</span> <span class="o">-</span><span class="n">p</span> <span class="n">tcp</span> <span class="o">-</span><span class="n">m</span> <span class="n">tcp</span> <span class="o">--</span><span class="n">dport</span> <span class="mi">21</span> <span class="o">-</span><span class="n">j</span> <span class="n">REDIRECT</span> <span class="o">--</span><span class="n">to</span><span class="o">-</span><span class="n">ports</span> <span class="mi">60021</span>
+<div class="codehilite"><pre><span class="n">sudo</span> <span class="n">iptables</span> <span class="o">-</span><span class="n">t</span> <span class="n">nat</span> <span class="o">-</span><span class="n">A</span> <span class="n">PREROUTING</span> <span class="o">-</span><span class="n">p</span> <span class="n">tcp</span> <span class="o">-</span><span class="n">m</span> <span class="n">tcp</span> <span class="o">--</span><span class="n">dport</span> 21 <span class="o">-</span><span class="nb">j</span> <span class="n">REDIRECT</span> <span class="o">--</span><span class="n">to</span><span class="o">-</span><span class="n">ports</span> 60021
 </pre></div>