diff options
Diffstat (limited to 'doc/html/_modules/M2Crypto/ftpslib.html')
-rw-r--r-- | doc/html/_modules/M2Crypto/ftpslib.html | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/doc/html/_modules/M2Crypto/ftpslib.html b/doc/html/_modules/M2Crypto/ftpslib.html new file mode 100644 index 0000000..d1877a1 --- /dev/null +++ b/doc/html/_modules/M2Crypto/ftpslib.html @@ -0,0 +1,185 @@ + + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <title>M2Crypto.ftpslib — M2Crypto documentation</title> + + <link rel="stylesheet" href="../../_static/default.css" type="text/css" /> + <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT: '../../', + VERSION: '', + COLLAPSE_INDEX: false, + FILE_SUFFIX: '.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../../_static/jquery.js"></script> + <script type="text/javascript" src="../../_static/underscore.js"></script> + <script type="text/javascript" src="../../_static/doctools.js"></script> + <link rel="top" title="M2Crypto documentation" href="../../index.html" /> + <link rel="up" title="Module code" href="../index.html" /> + </head> + <body> + <div class="related"> + <h3>Navigation</h3> + <ul> + <li class="right" style="margin-right: 10px"> + <a href="../../genindex.html" title="General Index" + accesskey="I">index</a></li> + <li class="right" > + <a href="../../py-modindex.html" title="Python Module Index" + >modules</a> |</li> + <li><a href="../../index.html">M2Crypto documentation</a> »</li> + <li><a href="../index.html" accesskey="U">Module code</a> »</li> + </ul> + </div> + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + <div class="body"> + + <h1>Source code for M2Crypto.ftpslib</h1><div class="highlight"><pre> +<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">absolute_import</span> + +<span class="sd">"""M2Crypto client-side FTP/TLS.</span> + +<span class="sd">This implementation complies with draft-murray-auth-ftp-ssl-07.txt.</span> + +<span class="sd">Example:</span> + +<span class="sd">>>> from M2Crypto import ftpslib</span> +<span class="sd">>>> f = ftpslib.FTP_TLS()</span> +<span class="sd">>>> f.connect('', 9021)</span> +<span class="sd">'220 spinnaker.dyndns.org M2Crypto (Medusa) FTP/TLS server v0.07 ready.'</span> +<span class="sd">>>> f.auth_tls()</span> +<span class="sd">>>> f.set_pasv(0)</span> +<span class="sd">>>> f.login('ftp', 'ngps@')</span> +<span class="sd">'230 Ok.'</span> +<span class="sd">>>> f.retrlines('LIST')</span> +<span class="sd">-rw-rw-r-- 1 0 198 2326 Jul 3 1996 apache_pb.gif</span> +<span class="sd">drwxrwxr-x 7 0 198 1536 Oct 10 2000 manual</span> +<span class="sd">drwxrwxr-x 2 0 198 512 Oct 31 2000 modpy</span> +<span class="sd">drwxrwxr-x 2 0 198 512 Oct 31 2000 bobo</span> +<span class="sd">drwxr-xr-x 2 0 198 14336 May 28 15:54 postgresql</span> +<span class="sd">drwxr-xr-x 4 100 198 512 May 16 17:19 home</span> +<span class="sd">drwxr-xr-x 7 100 100 3584 Sep 23 2000 openacs</span> +<span class="sd">drwxr-xr-x 10 0 0 512 Aug 5 2000 python1.5</span> +<span class="sd">-rw-r--r-- 1 100 198 326 Jul 29 03:29 index.html</span> +<span class="sd">drwxr-xr-x 12 0 0 512 May 31 17:08 python2.1</span> +<span class="sd">'226 Transfer complete'</span> +<span class="sd">>>> f.quit()</span> +<span class="sd">'221 Goodbye.'</span> +<span class="sd">>>></span> + + +<span class="sd">Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved."""</span> + +<span class="c1"># We want to import whole stdlib ftplib objects, because our users want</span> +<span class="c1"># to use them.</span> +<span class="kn">from</span> <span class="nn">ftplib</span> <span class="kn">import</span> <span class="o">*</span> <span class="c1"># noqa</span> + +<span class="c1"># M2Crypto</span> +<span class="kn">from</span> <span class="nn">M2Crypto</span> <span class="kn">import</span> <span class="n">SSL</span> + + +<div class="viewcode-block" id="FTP_TLS"><a class="viewcode-back" href="../../M2Crypto.html#M2Crypto.ftpslib.FTP_TLS">[docs]</a><span class="k">class</span> <span class="nc">FTP_TLS</span><span class="p">(</span><span class="n">FTP</span><span class="p">):</span> <span class="c1"># noqa</span> + + <span class="sd">"""Python OO interface to client-side FTP/TLS."""</span> + + <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">ssl_ctx</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> + <span class="sd">"""Initialise the client. If 'host' is supplied, connect to it."""</span> + <span class="k">if</span> <span class="n">ssl_ctx</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">ssl_ctx</span> <span class="o">=</span> <span class="n">ssl_ctx</span> + <span class="k">else</span><span class="p">:</span> + <span class="bp">self</span><span class="o">.</span><span class="n">ssl_ctx</span> <span class="o">=</span> <span class="n">SSL</span><span class="o">.</span><span class="n">Context</span><span class="p">()</span> + <span class="n">FTP</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">prot</span> <span class="o">=</span> <span class="mi">0</span> + +<div class="viewcode-block" id="FTP_TLS.auth_tls"><a class="viewcode-back" href="../../M2Crypto.html#M2Crypto.ftpslib.FTP_TLS.auth_tls">[docs]</a> <span class="k">def</span> <span class="nf">auth_tls</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""Secure the control connection per AUTH TLS, aka AUTH TLS-C."""</span> + <span class="bp">self</span><span class="o">.</span><span class="n">voidcmd</span><span class="p">(</span><span class="s1">'AUTH TLS'</span><span class="p">)</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">SSL</span><span class="o">.</span><span class="n">Connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ssl_ctx</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">sock</span><span class="p">)</span> + <span class="n">s</span><span class="o">.</span><span class="n">setup_ssl</span><span class="p">()</span> + <span class="n">s</span><span class="o">.</span><span class="n">set_connect_state</span><span class="p">()</span> + <span class="n">s</span><span class="o">.</span><span class="n">connect_ssl</span><span class="p">()</span> + <span class="bp">self</span><span class="o">.</span><span class="n">sock</span> <span class="o">=</span> <span class="n">s</span> + <span class="bp">self</span><span class="o">.</span><span class="n">file</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sock</span><span class="o">.</span><span class="n">makefile</span><span class="p">()</span> +</div> +<div class="viewcode-block" id="FTP_TLS.auth_ssl"><a class="viewcode-back" href="../../M2Crypto.html#M2Crypto.ftpslib.FTP_TLS.auth_ssl">[docs]</a> <span class="k">def</span> <span class="nf">auth_ssl</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""Secure the control connection per AUTH SSL, aka AUTH TLS-P."""</span> + <span class="k">raise</span> <span class="ne">NotImplementedError</span> +</div> +<div class="viewcode-block" id="FTP_TLS.prot_p"><a class="viewcode-back" href="../../M2Crypto.html#M2Crypto.ftpslib.FTP_TLS.prot_p">[docs]</a> <span class="k">def</span> <span class="nf">prot_p</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""Set up secure data connection."""</span> + <span class="bp">self</span><span class="o">.</span><span class="n">voidcmd</span><span class="p">(</span><span class="s1">'PBSZ 0'</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">voidcmd</span><span class="p">(</span><span class="s1">'PROT P'</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">prot</span> <span class="o">=</span> <span class="mi">1</span> +</div> +<div class="viewcode-block" id="FTP_TLS.prot_c"><a class="viewcode-back" href="../../M2Crypto.html#M2Crypto.ftpslib.FTP_TLS.prot_c">[docs]</a> <span class="k">def</span> <span class="nf">prot_c</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""Set up data connection in the clear."""</span> + <span class="bp">self</span><span class="o">.</span><span class="n">voidcmd</span><span class="p">(</span><span class="s1">'PROT C'</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">prot</span> <span class="o">=</span> <span class="mi">0</span> +</div> +<div class="viewcode-block" id="FTP_TLS.ntransfercmd"><a class="viewcode-back" href="../../M2Crypto.html#M2Crypto.ftpslib.FTP_TLS.ntransfercmd">[docs]</a> <span class="k">def</span> <span class="nf">ntransfercmd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cmd</span><span class="p">,</span> <span class="n">rest</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> + <span class="sd">"""Initiate a data transfer."""</span> + <span class="n">conn</span><span class="p">,</span> <span class="n">size</span> <span class="o">=</span> <span class="n">FTP</span><span class="o">.</span><span class="n">ntransfercmd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cmd</span><span class="p">,</span> <span class="n">rest</span><span class="p">)</span> + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">prot</span><span class="p">:</span> + <span class="n">conn</span> <span class="o">=</span> <span class="n">SSL</span><span class="o">.</span><span class="n">Connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ssl_ctx</span><span class="p">,</span> <span class="n">conn</span><span class="p">)</span> + <span class="n">conn</span><span class="o">.</span><span class="n">setup_ssl</span><span class="p">()</span> + <span class="n">conn</span><span class="o">.</span><span class="n">set_connect_state</span><span class="p">()</span> + <span class="n">conn</span><span class="o">.</span><span class="n">set_session</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sock</span><span class="o">.</span><span class="n">get_session</span><span class="p">())</span> + <span class="n">conn</span><span class="o">.</span><span class="n">connect_ssl</span><span class="p">()</span> + <span class="k">return</span> <span class="n">conn</span><span class="p">,</span> <span class="n">size</span></div></div> +</pre></div> + + </div> + </div> + </div> + <div class="sphinxsidebar"> + <div class="sphinxsidebarwrapper"> +<div id="searchbox" style="display: none"> + <h3>Quick search</h3> + <form class="search" action="../../search.html" method="get"> + <input type="text" name="q" /> + <input type="submit" value="Go" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + <p class="searchtip" style="font-size: 90%"> + Enter search terms or a module, class or function name. + </p> +</div> +<script type="text/javascript">$('#searchbox').show(0);</script> + </div> + </div> + <div class="clearer"></div> + </div> + <div class="related"> + <h3>Navigation</h3> + <ul> + <li class="right" style="margin-right: 10px"> + <a href="../../genindex.html" title="General Index" + >index</a></li> + <li class="right" > + <a href="../../py-modindex.html" title="Python Module Index" + >modules</a> |</li> + <li><a href="../../index.html">M2Crypto documentation</a> »</li> + <li><a href="../index.html" >Module code</a> »</li> + </ul> + </div> + <div class="footer"> + © Copyright 2017, Matej Cepl <mcepl@cepl.eu>. + Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. + </div> + </body> +</html>
\ No newline at end of file |