summaryrefslogtreecommitdiff
path: root/doc/html/M2Crypto.SSL.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/M2Crypto.SSL.html')
-rw-r--r--doc/html/M2Crypto.SSL.html904
1 files changed, 865 insertions, 39 deletions
diff --git a/doc/html/M2Crypto.SSL.html b/doc/html/M2Crypto.SSL.html
index a6b1cb3..19a257d 100644
--- a/doc/html/M2Crypto.SSL.html
+++ b/doc/html/M2Crypto.SSL.html
@@ -36,9 +36,60 @@
<h1>SSL Package<a class="headerlink" href="#ssl-package" title="Permalink to this headline">¶</a></h1>
<div class="section" id="id1">
<h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">SSL</span></code> Package<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
+<span class="target" id="module-M2Crypto.SSL"></span><dl class="py exception">
+<dt id="M2Crypto.SSL.SSLError">
+<em class="property">exception </em><code class="sig-prename descclassname">M2Crypto.SSL.</code><code class="sig-name descname">SSLError</code><a class="reference internal" href="_modules/M2Crypto/SSL.html#SSLError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.SSLError" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="M2Crypto.SSL.SSLTimeoutError">
+<em class="property">exception </em><code class="sig-prename descclassname">M2Crypto.SSL.</code><code class="sig-name descname">SSLTimeoutError</code><a class="reference internal" href="_modules/M2Crypto/SSL.html#SSLTimeoutError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.SSLTimeoutError" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#M2Crypto.SSL.SSLError" title="M2Crypto.SSL.SSLError"><code class="xref py py-class docutils literal notranslate"><span class="pre">M2Crypto.SSL.SSLError</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">socket.timeout</span></code></p>
+</dd></dl>
+
</div>
-<div class="section" id="checker-module">
-<h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">Checker</span></code> Module<a class="headerlink" href="#checker-module" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-M2Crypto.SSL.Checker">
+<span id="checker-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">Checker</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.Checker" title="Permalink to this headline">¶</a></h2>
+<p>SSL peer certificate checking routines</p>
+<p>Copyright (c) 2004-2007 Open Source Applications Foundation.
+All rights reserved.</p>
+<p>Copyright 2008 Heikki Toivonen. All rights reserved.</p>
+<dl class="py class">
+<dt id="M2Crypto.SSL.Checker.Checker">
+<em class="property">class </em><code class="sig-prename descclassname">M2Crypto.SSL.Checker.</code><code class="sig-name descname">Checker</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">host</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>str<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">peerCertHash</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>bytes<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">peerCertDigest</span><span class="p">:</span> <span class="n">str</span> <span class="o">=</span> <span class="default_value">'sha1'</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/Checker.html#Checker"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.Checker.Checker" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
+<dl class="py attribute">
+<dt id="M2Crypto.SSL.Checker.Checker.numericIpMatch">
+<code class="sig-name descname">numericIpMatch</code><em class="property"> = re.compile('^[0-9]+(\\.[0-9]+)*$')</em><a class="headerlink" href="#M2Crypto.SSL.Checker.Checker.numericIpMatch" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt id="M2Crypto.SSL.Checker.NoCertificate">
+<em class="property">exception </em><code class="sig-prename descclassname">M2Crypto.SSL.Checker.</code><code class="sig-name descname">NoCertificate</code><a class="reference internal" href="_modules/M2Crypto/SSL/Checker.html#NoCertificate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.Checker.NoCertificate" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#M2Crypto.SSL.Checker.SSLVerificationError" title="M2Crypto.SSL.Checker.SSLVerificationError"><code class="xref py py-class docutils literal notranslate"><span class="pre">M2Crypto.SSL.Checker.SSLVerificationError</span></code></a></p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="M2Crypto.SSL.Checker.SSLVerificationError">
+<em class="property">exception </em><code class="sig-prename descclassname">M2Crypto.SSL.Checker.</code><code class="sig-name descname">SSLVerificationError</code><a class="reference internal" href="_modules/M2Crypto/SSL/Checker.html#SSLVerificationError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.Checker.SSLVerificationError" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="M2Crypto.SSL.Checker.WrongCertificate">
+<em class="property">exception </em><code class="sig-prename descclassname">M2Crypto.SSL.Checker.</code><code class="sig-name descname">WrongCertificate</code><a class="reference internal" href="_modules/M2Crypto/SSL/Checker.html#WrongCertificate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.Checker.WrongCertificate" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#M2Crypto.SSL.Checker.SSLVerificationError" title="M2Crypto.SSL.Checker.SSLVerificationError"><code class="xref py py-class docutils literal notranslate"><span class="pre">M2Crypto.SSL.Checker.SSLVerificationError</span></code></a></p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="M2Crypto.SSL.Checker.WrongHost">
+<em class="property">exception </em><code class="sig-prename descclassname">M2Crypto.SSL.Checker.</code><code class="sig-name descname">WrongHost</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">expectedHost</span><span class="p">:</span> <span class="n">str</span></em>, <em class="sig-param"><span class="n">actualHost</span><span class="p">:</span> <span class="n">AnyStr</span></em>, <em class="sig-param"><span class="n">fieldName</span><span class="p">:</span> <span class="n">str</span> <span class="o">=</span> <span class="default_value">'commonName'</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/Checker.html#WrongHost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.Checker.WrongHost" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#M2Crypto.SSL.Checker.SSLVerificationError" title="M2Crypto.SSL.Checker.SSLVerificationError"><code class="xref py py-class docutils literal notranslate"><span class="pre">M2Crypto.SSL.Checker.SSLVerificationError</span></code></a></p>
+</dd></dl>
+
</div>
<div class="section" id="module-M2Crypto.SSL.Cipher">
<span id="cipher-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">Cipher</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.Cipher" title="Permalink to this headline">¶</a></h2>
@@ -67,8 +118,588 @@
</dd></dl>
</div>
-<div class="section" id="connection-module">
-<h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">Connection</span></code> Module<a class="headerlink" href="#connection-module" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-M2Crypto.SSL.Connection">
+<span id="connection-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">Connection</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.Connection" title="Permalink to this headline">¶</a></h2>
+<dl class="py class">
+<dt id="M2Crypto.SSL.Connection.Connection">
+<em class="property">class </em><code class="sig-prename descclassname">M2Crypto.SSL.Connection.</code><code class="sig-name descname">Connection</code><span class="sig-paren">(</span><em class="sig-param">ctx: Context</em>, <em class="sig-param">sock: socket.socket = None</em>, <em class="sig-param">family: int = &lt;AddressFamily.AF_INET: 2&gt;</em><span class="sig-paren">)</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
+<p>An SSL connection.</p>
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.accept">
+<code class="sig-name descname">accept</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Tuple<span class="p">[</span><a class="reference internal" href="#M2Crypto.SSL.Connection.Connection" title="M2Crypto.SSL.Connection.Connection">M2Crypto.SSL.Connection.Connection</a><span class="p">, </span>Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span><span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.accept" title="Permalink to this definition">¶</a></dt>
+<dd><p>Accept an SSL connection.</p>
+<p>The return value is a pair (ssl, addr) where ssl is a new SSL
+connection object and addr is the address bound to the other end
+of the SSL connection.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>tuple of Connection and addr. Address can take very
+various forms (see socket documentation), for IPv4 it
+is tuple(str, int), for IPv6 a tuple of four (host,
+port, flowinfo, scopeid), where the last two are
+optional ints.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.accept_ssl">
+<code class="sig-name descname">accept_ssl</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Optional<span class="p">[</span>int<span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.accept_ssl" title="Permalink to this definition">¶</a></dt>
+<dd><p>Waits for a TLS/SSL client to initiate the TLS/SSL handshake.</p>
+<p>The communication channel must already have been set and
+assigned to the ssl by setting an underlying BIO.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p><dl class="simple">
+<dt>0 The TLS/SSL handshake was not successful but was shut</dt><dd><p>down controlled and by the specifications of the
+TLS/SSL protocol. Call get_error() with the return
+value ret to find out the reason.</p>
+</dd>
+<dt>1 The TLS/SSL handshake was successfully completed,</dt><dd><p>a TLS/SSL connection has been established.</p>
+</dd>
+<dt>&lt;0 The TLS/SSL handshake was not successful because</dt><dd><p>a fatal error occurred either at the protocol level
+or a connection failure occurred. The shutdown was
+not clean. It can also occur of action is need to
+continue the operation for non-blocking BIOs. Call
+get_error() with the return value ret to find
+out the reason.</p>
+</dd>
+</dl>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.bind">
+<code class="sig-name descname">bind</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">addr</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.bind" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.clear">
+<code class="sig-name descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.clear" title="Permalink to this definition">¶</a></dt>
+<dd><p>If there were errors in this connection, call clear() rather
+than close() to end it, so that bad sessions will be cleared
+from cache.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.close">
+<code class="sig-name descname">close</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">freeBio</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.close" title="Permalink to this definition">¶</a></dt>
+<dd><p>if freeBio is true, call _free_bio</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.connect">
+<code class="sig-name descname">connect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">addr</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.connect" title="Permalink to this definition">¶</a></dt>
+<dd><p>Overloading socket.connect()</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>addr</strong> – addresses have various depending on their type</p>
+</dd>
+</dl>
+<p>:return:status of ssl_connect()</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.connect_ssl">
+<code class="sig-name descname">connect_ssl</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Optional<span class="p">[</span>int<span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.connect_ssl" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.fileno">
+<code class="sig-name descname">fileno</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.fileno" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_cipher">
+<code class="sig-name descname">get_cipher</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Optional<span class="p">[</span><a class="reference internal" href="#M2Crypto.SSL.Cipher.Cipher" title="M2Crypto.SSL.Cipher.Cipher">M2Crypto.SSL.Cipher.Cipher</a><span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_cipher" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return an M2Crypto.SSL.Cipher object for this connection; if the
+connection has not been initialised with a cipher suite, return None.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_cipher_list">
+<code class="sig-name descname">get_cipher_list</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">idx</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">0</span></em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_cipher_list" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the cipher suites for this connection as a string object.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_ciphers">
+<code class="sig-name descname">get_ciphers</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Optional<span class="p">[</span><a class="reference internal" href="#M2Crypto.SSL.Cipher.Cipher_Stack" title="M2Crypto.SSL.Cipher.Cipher_Stack">M2Crypto.SSL.Cipher.Cipher_Stack</a><span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_ciphers" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return an M2Crypto.SSL.Cipher_Stack object for this
+connection; if the connection has not been initialised with
+cipher suites, return None.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_context">
+<code class="sig-name descname">get_context</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Context<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_context" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the Context object associated with this connection.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_default_session_timeout">
+<code class="sig-name descname">get_default_session_timeout</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_default_session_timeout" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_peer_cert">
+<code class="sig-name descname">get_peer_cert</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; <a class="reference internal" href="M2Crypto.html#M2Crypto.X509.X509" title="M2Crypto.X509.X509">M2Crypto.X509.X509</a><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_peer_cert" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the peer certificate.</p>
+<p>If the peer did not provide a certificate, return None.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_peer_cert_chain">
+<code class="sig-name descname">get_peer_cert_chain</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Optional<span class="p">[</span><a class="reference internal" href="M2Crypto.html#M2Crypto.X509.X509_Stack" title="M2Crypto.X509.X509_Stack">M2Crypto.X509.X509_Stack</a><span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_peer_cert_chain" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the peer certificate chain; if the peer did not provide
+a certificate chain, return None.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Warning</dt>
+<dd class="field-odd"><p>The returned chain will be valid only for as long as the
+connection object is alive. Once the connection object
+gets freed, the chain will be freed as well.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_session">
+<code class="sig-name descname">get_session</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; <a class="reference internal" href="#M2Crypto.SSL.Session.Session" title="M2Crypto.SSL.Session.Session">M2Crypto.SSL.Session.Session</a><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_session" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_shutdown">
+<code class="sig-name descname">get_shutdown</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_shutdown" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the current shutdown mode of the Connection.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_socket_read_timeout">
+<code class="sig-name descname">get_socket_read_timeout</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; timeout<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_socket_read_timeout" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_socket_write_timeout">
+<code class="sig-name descname">get_socket_write_timeout</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; timeout<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_socket_write_timeout" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_state">
+<code class="sig-name descname">get_state</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; bytes<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_state" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the SSL state of this connection.</p>
+<p>During its use, an SSL objects passes several states. The state
+is internally maintained. Querying the state information is not
+very informative before or when a connection has been
+established. It however can be of significant interest during
+the handshake.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>6 letter string indicating the current state of the SSL
+object ssl.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_verify_depth">
+<code class="sig-name descname">get_verify_depth</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_verify_depth" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the peer certificate verification depth.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_verify_mode">
+<code class="sig-name descname">get_verify_mode</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_verify_mode" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the peer certificate verification mode.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_verify_result">
+<code class="sig-name descname">get_verify_result</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_verify_result" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the peer certificate verification result.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.get_version">
+<code class="sig-name descname">get_version</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.get_version" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the TLS/SSL protocol version for this connection.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.getpeername">
+<code class="sig-name descname">getpeername</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.getpeername" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the remote address to which the socket is connected.</p>
+<p>This is useful to find out the port number of a remote IPv4/v6 socket,
+for instance.
+On some systems this function is not supported.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.getsockname">
+<code class="sig-name descname">getsockname</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.getsockname" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the socket’s own address.</p>
+<p>This is useful to find out the port number of an IPv4/v6 socket,
+for instance. (The format of the address returned depends
+on the address family – see above.)</p>
+<p>:return:socket’s address as addr type</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.getsockopt">
+<code class="sig-name descname">getsockopt</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">level</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">optname</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">buflen</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>int<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em><span class="sig-paren">)</span> &#x2192; Union<span class="p">[</span>int<span class="p">, </span>bytes<span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.getsockopt" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get the value of the given socket option.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>level</strong> – level at which the option resides.
+To manipulate options at the sockets API level, level is
+specified as socket.SOL_SOCKET. To manipulate options at
+any other level the protocol number of the appropriate
+protocol controlling the option is supplied. For example,
+to indicate that an option is to be interpreted by the
+TCP protocol, level should be set to the protocol number
+of socket.SOL_TCP; see getprotoent(3).</p></li>
+<li><p><strong>optname</strong> – The value of the given socket option is
+described in the Unix man page getsockopt(2)). The needed
+symbolic constants (SO_* etc.) are defined in the socket
+module.</p></li>
+<li><p><strong>buflen</strong> – If it is absent, an integer option is assumed
+and its integer value is returned by the function. If
+buflen is present, it specifies the maximum length of the
+buffer used to receive the option in, and this buffer is
+returned as a bytes object.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Either integer or bytes value of the option. It is up
+to the caller to decode the contents of the buffer (see
+the optional built-in module struct for a way to decode
+C structures encoded as byte strings).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.listen">
+<code class="sig-name descname">listen</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">qlen</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">5</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.listen" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.m2_bio_free">
+<code class="sig-name descname">m2_bio_free</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.m2_bio_free" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt id="M2Crypto.SSL.Connection.Connection.m2_bio_noclose">
+<code class="sig-name descname">m2_bio_noclose</code><em class="property"> = 0</em><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.m2_bio_noclose" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.m2_ssl_free">
+<code class="sig-name descname">m2_ssl_free</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.m2_ssl_free" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.makefile">
+<code class="sig-name descname">makefile</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">mode</span><span class="p">:</span> <span class="n">AnyStr</span> <span class="o">=</span> <span class="default_value">'rb'</span></em>, <em class="sig-param"><span class="n">bufsize</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">- 1</span></em><span class="sig-paren">)</span> &#x2192; Union<span class="p">[</span>_io.BufferedRWPair<span class="p">, </span>_io.BufferedReader<span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.makefile" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.pending">
+<code class="sig-name descname">pending</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.pending" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return the numbers of octets that can be read from the connection.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.read">
+<code class="sig-name descname">read</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">size</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">1024</span></em><span class="sig-paren">)</span> &#x2192; bytes<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.read" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.recv">
+<code class="sig-name descname">recv</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">size</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">1024</span></em><span class="sig-paren">)</span> &#x2192; bytes<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.recv" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.recv_into">
+<code class="sig-name descname">recv_into</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">buff</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>bytearray<span class="p">, </span>memoryview<span class="p">]</span></span></em>, <em class="sig-param"><span class="n">nbytes</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">0</span></em><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.recv_into" title="Permalink to this definition">¶</a></dt>
+<dd><p>A version of recv() that stores its data into a buffer rather
+than creating a new string. Receive up to buffersize bytes from
+the socket. If buffersize is not specified (or 0), receive up
+to the size available in the given buffer.</p>
+<p>If buff is bytearray, it will have after return length of the
+actually returned number of bytes. If buff is memoryview, then
+the size of buff won’t change (it cannot), but all bytes after
+the number of returned bytes will be NULL.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>buffer</strong> – a buffer for the received bytes</p></li>
+<li><p><strong>nbytes</strong> – maximum number of bytes to read</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>number of bytes read</p>
+</dd>
+</dl>
+<p>See recv() for documentation about the flags.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.renegotiate">
+<code class="sig-name descname">renegotiate</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.renegotiate" title="Permalink to this definition">¶</a></dt>
+<dd><p>Renegotiate this connection’s SSL parameters.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.send">
+<code class="sig-name descname">send</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">data</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.send" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.sendall">
+<code class="sig-name descname">sendall</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">data</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.sendall" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.serverPostConnectionCheck">
+<code class="sig-name descname">serverPostConnectionCheck</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kw</span><span class="p">:</span> <span class="n">Any</span></em><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.serverPostConnectionCheck" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set1_host">
+<code class="sig-name descname">set1_host</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">name</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set1_host" title="Permalink to this definition">¶</a></dt>
+<dd><p>Set the requested hostname to check in the server certificate.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_accept_state">
+<code class="sig-name descname">set_accept_state</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_accept_state" title="Permalink to this definition">¶</a></dt>
+<dd><p>Sets Connection to work in the server mode.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_bio">
+<code class="sig-name descname">set_bio</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">readbio</span><span class="p">:</span> <span class="n"><a class="reference internal" href="M2Crypto.html#M2Crypto.BIO.BIO" title="M2Crypto.BIO.BIO">M2Crypto.BIO.BIO</a></span></em>, <em class="sig-param"><span class="n">writebio</span><span class="p">:</span> <span class="n"><a class="reference internal" href="M2Crypto.html#M2Crypto.BIO.BIO" title="M2Crypto.BIO.BIO">M2Crypto.BIO.BIO</a></span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_bio" title="Permalink to this definition">¶</a></dt>
+<dd><p>Explicitly set read and write bios</p>
+<p>Connects the BIOs for the read and write operations of the
+TLS/SSL (encrypted) side of ssl.</p>
+<p>The SSL engine inherits the behaviour of both BIO objects,
+respectively. If a BIO is non-blocking, the Connection will also
+have non-blocking behaviour.</p>
+<p>If there was already a BIO connected to Connection, BIO_free()
+will be called (for both the reading and writing side, if
+different).</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>readbio</strong> – BIO for reading</p></li>
+<li><p><strong>writebio</strong> – BIO for writing.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_cipher_list">
+<code class="sig-name descname">set_cipher_list</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cipher_list</span><span class="p">:</span> <span class="n">str</span></em><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_cipher_list" title="Permalink to this definition">¶</a></dt>
+<dd><p>Set the cipher suites for this connection.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_client_CA_list_from_context">
+<code class="sig-name descname">set_client_CA_list_from_context</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_client_CA_list_from_context" title="Permalink to this definition">¶</a></dt>
+<dd><p>Set the acceptable client CA list. If the client
+returns a certificate, it must have been issued by
+one of the CAs listed in context.</p>
+<p>Makes sense only for servers.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_client_CA_list_from_file">
+<code class="sig-name descname">set_client_CA_list_from_file</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cafile</span><span class="p">:</span> <span class="n">AnyStr</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_client_CA_list_from_file" title="Permalink to this definition">¶</a></dt>
+<dd><p>Set the acceptable client CA list.</p>
+<p>If the client returns a certificate, it must have been issued by
+one of the CAs listed in cafile.</p>
+<p>Makes sense only for servers.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>cafile</strong> – Filename from which to load the CA list.</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><dl class="simple">
+<dt>0 A failure while manipulating the STACK_OF(X509_NAME)</dt><dd><p>object occurred or the X509_NAME could not be
+extracted from cacert. Check the error stack to find
+out the reason.</p>
+</dd>
+</dl>
+<p>1 The operation succeeded.</p>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_connect_state">
+<code class="sig-name descname">set_connect_state</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_connect_state" title="Permalink to this definition">¶</a></dt>
+<dd><p>Sets Connection to work in the client mode.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_post_connection_check_callback">
+<code class="sig-name descname">set_post_connection_check_callback</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">postConnectionCheck</span><span class="p">:</span> <span class="n">Callable</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_post_connection_check_callback" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_session">
+<code class="sig-name descname">set_session</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">session</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#M2Crypto.SSL.Session.Session" title="M2Crypto.SSL.Session.Session">M2Crypto.SSL.Session.Session</a></span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_session" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_session_id_ctx">
+<code class="sig-name descname">set_session_id_ctx</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">id</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_session_id_ctx" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_shutdown">
+<code class="sig-name descname">set_shutdown</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">mode</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_shutdown" title="Permalink to this definition">¶</a></dt>
+<dd><p>Sets the shutdown state of the Connection to mode.</p>
+<p>The shutdown state of an ssl connection is a bitmask of (use
+m2.SSL_* constants):</p>
+<p>0 No shutdown setting, yet.</p>
+<dl class="simple">
+<dt>SSL_SENT_SHUTDOWN</dt><dd><p>A “close notify” shutdown alert was sent to the peer, the
+connection is being considered closed and the session is
+closed and correct.</p>
+</dd>
+<dt>SSL_RECEIVED_SHUTDOWN</dt><dd><p>A shutdown alert was received form the peer, either a normal
+“close notify” or a fatal error.</p>
+</dd>
+</dl>
+<p>SSL_SENT_SHUTDOWN and SSL_RECEIVED_SHUTDOWN can be set at the
+same time.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>mode</strong> – set the mode bitmask.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_socket_read_timeout">
+<code class="sig-name descname">set_socket_read_timeout</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">timeo</span><span class="p">:</span> <span class="n">timeout</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_socket_read_timeout" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_socket_write_timeout">
+<code class="sig-name descname">set_socket_write_timeout</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">timeo</span><span class="p">:</span> <span class="n">timeout</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_socket_write_timeout" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_ssl_close_flag">
+<code class="sig-name descname">set_ssl_close_flag</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">flag</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_ssl_close_flag" title="Permalink to this definition">¶</a></dt>
+<dd><p>By default, SSL struct will be freed in __del__. Call with
+m2.bio_close to override this default.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>flag</strong> – either m2.bio_close or m2.bio_noclose</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.set_tlsext_host_name">
+<code class="sig-name descname">set_tlsext_host_name</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">name</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.set_tlsext_host_name" title="Permalink to this definition">¶</a></dt>
+<dd><p>Set the requested hostname for the SNI (Server Name Indication)
+extension.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.setblocking">
+<code class="sig-name descname">setblocking</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">mode</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.setblocking" title="Permalink to this definition">¶</a></dt>
+<dd><p>Set this connection’s underlying socket to _mode_.</p>
+<p>Set blocking or non-blocking mode of the socket: if flag is 0,
+the socket is set to non-blocking, else to blocking mode.
+Initially all sockets are in blocking mode. In non-blocking mode,
+if a recv() call doesn’t find any data, or if a send() call can’t
+immediately dispose of the data, a error exception is raised;
+in blocking mode, the calls block until they can proceed.
+s.setblocking(0) is equivalent to s.settimeout(0.0);
+s.setblocking(1) is equivalent to s.settimeout(None).</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>mode</strong> – new mode to be set</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.setsockopt">
+<code class="sig-name descname">setsockopt</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">level</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">optname</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">value</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>Union<span class="p">[</span>int<span class="p">, </span>bytes<span class="p">]</span><span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em><span class="sig-paren">)</span> &#x2192; Optional<span class="p">[</span>bytes<span class="p">]</span><a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.setsockopt" title="Permalink to this definition">¶</a></dt>
+<dd><p>Set the value of the given socket option.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>level</strong> – same as with getsockopt() above</p></li>
+<li><p><strong>optname</strong> – same as with getsockopt() above</p></li>
+<li><p><strong>value</strong> – an integer or a string representing a buffer. In
+the latter case it is up to the caller to ensure
+that the string contains the proper bits (see the
+optional built-in module struct for a way to
+encode C structures as strings).</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>None for success or the error handler for failure.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.settimeout">
+<code class="sig-name descname">settimeout</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">timeout</span><span class="p">:</span> <span class="n">float</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.settimeout" title="Permalink to this definition">¶</a></dt>
+<dd><p>Set this connection’s underlying socket’s timeout to _timeout_.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.setup_addr">
+<code class="sig-name descname">setup_addr</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">addr</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.setup_addr" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.setup_ssl">
+<code class="sig-name descname">setup_ssl</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.setup_ssl" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.shutdown">
+<code class="sig-name descname">shutdown</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">how</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.shutdown" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.ssl_get_error">
+<code class="sig-name descname">ssl_get_error</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">ret</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.ssl_get_error" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.verify_ok">
+<code class="sig-name descname">verify_ok</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; bool<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.verify_ok" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.Connection.Connection.write">
+<code class="sig-name descname">write</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">data</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; int<a class="headerlink" href="#M2Crypto.SSL.Connection.Connection.write" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
</div>
<div class="section" id="module-M2Crypto.SSL.Context">
<span id="context-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">Context</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.Context" title="Permalink to this headline">¶</a></h2>
@@ -111,7 +742,7 @@ certificate if the certificate’s CA is unknown.</p>
<dl class="py method">
<dt id="M2Crypto.SSL.Context.Context.get_cert_store">
-<code class="sig-name descname">get_cert_store</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; X509.X509<a class="reference internal" href="_modules/M2Crypto/SSL/Context.html#Context.get_cert_store"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.Context.Context.get_cert_store" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">get_cert_store</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; <a class="reference internal" href="M2Crypto.html#M2Crypto.X509.X509" title="M2Crypto.X509.X509">M2Crypto.X509.X509</a><a class="reference internal" href="_modules/M2Crypto/SSL/Context.html#Context.get_cert_store"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.Context.Context.get_cert_store" title="Permalink to this definition">¶</a></dt>
<dd><p>Get the certificate store associated with this context.</p>
<dl class="field-list simple">
<dt class="field-odd">Warning</dt>
@@ -548,8 +1179,40 @@ verification checks.</p></li>
<dd></dd></dl>
</div>
-<div class="section" id="sslserver-module">
-<h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">SSLServer</span></code> Module<a class="headerlink" href="#sslserver-module" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-M2Crypto.SSL.SSLServer">
+<span id="sslserver-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">SSLServer</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.SSLServer" title="Permalink to this headline">¶</a></h2>
+<dl class="py class">
+<dt id="M2Crypto.SSL.SSLServer.ForkingSSLServer">
+<em class="property">class </em><code class="sig-prename descclassname">M2Crypto.SSL.SSLServer.</code><code class="sig-name descname">ForkingSSLServer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">server_address</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span></span></em>, <em class="sig-param"><span class="n">RequestHandlerClass</span><span class="p">:</span> <span class="n">socketserver.BaseRequestHandler</span></em>, <em class="sig-param"><span class="n">ssl_context</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#M2Crypto.SSL.Context.Context" title="M2Crypto.SSL.Context.Context">M2Crypto.SSL.Context.Context</a></span></em>, <em class="sig-param"><span class="n">bind_and_activate</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/SSLServer.html#ForkingSSLServer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.SSLServer.ForkingSSLServer" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">socketserver.ForkingMixIn</span></code>, <a class="reference internal" href="#M2Crypto.SSL.SSLServer.SSLServer" title="M2Crypto.SSL.SSLServer.SSLServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">M2Crypto.SSL.SSLServer.SSLServer</span></code></a></p>
+</dd></dl>
+
+<dl class="py class">
+<dt id="M2Crypto.SSL.SSLServer.SSLServer">
+<em class="property">class </em><code class="sig-prename descclassname">M2Crypto.SSL.SSLServer.</code><code class="sig-name descname">SSLServer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">server_address</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span></span></em>, <em class="sig-param"><span class="n">RequestHandlerClass</span><span class="p">:</span> <span class="n">socketserver.BaseRequestHandler</span></em>, <em class="sig-param"><span class="n">ssl_context</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#M2Crypto.SSL.Context.Context" title="M2Crypto.SSL.Context.Context">M2Crypto.SSL.Context.Context</a></span></em>, <em class="sig-param"><span class="n">bind_and_activate</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/SSLServer.html#SSLServer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.SSLServer.SSLServer" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">socketserver.TCPServer</span></code></p>
+<dl class="py method">
+<dt id="M2Crypto.SSL.SSLServer.SSLServer.handle_error">
+<code class="sig-name descname">handle_error</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>socket.socket<span class="p">, </span><a class="reference internal" href="#M2Crypto.SSL.Connection.Connection" title="M2Crypto.SSL.Connection.Connection">M2Crypto.SSL.Connection.Connection</a><span class="p">]</span></span></em>, <em class="sig-param"><span class="n">client_address</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/M2Crypto/SSL/SSLServer.html#SSLServer.handle_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.SSLServer.SSLServer.handle_error" title="Permalink to this definition">¶</a></dt>
+<dd><p>Handle an error gracefully. May be overridden.</p>
+<p>The default is to print a traceback and continue.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.SSLServer.SSLServer.handle_request">
+<code class="sig-name descname">handle_request</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/M2Crypto/SSL/SSLServer.html#SSLServer.handle_request"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.SSLServer.SSLServer.handle_request" title="Permalink to this definition">¶</a></dt>
+<dd><p>Handle one request, possibly blocking.</p>
+<p>Respects self.timeout.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt id="M2Crypto.SSL.SSLServer.ThreadingSSLServer">
+<em class="property">class </em><code class="sig-prename descclassname">M2Crypto.SSL.SSLServer.</code><code class="sig-name descname">ThreadingSSLServer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">server_address</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span></span></em>, <em class="sig-param"><span class="n">RequestHandlerClass</span><span class="p">:</span> <span class="n">socketserver.BaseRequestHandler</span></em>, <em class="sig-param"><span class="n">ssl_context</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#M2Crypto.SSL.Context.Context" title="M2Crypto.SSL.Context.Context">M2Crypto.SSL.Context.Context</a></span></em>, <em class="sig-param"><span class="n">bind_and_activate</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/SSLServer.html#ThreadingSSLServer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.SSLServer.ThreadingSSLServer" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">socketserver.ThreadingMixIn</span></code>, <a class="reference internal" href="#M2Crypto.SSL.SSLServer.SSLServer" title="M2Crypto.SSL.SSLServer.SSLServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">M2Crypto.SSL.SSLServer.SSLServer</span></code></a></p>
+</dd></dl>
+
</div>
<div class="section" id="module-M2Crypto.SSL.Session">
<span id="session-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">Session</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.Session" title="Permalink to this headline">¶</a></h2>
@@ -596,7 +1259,7 @@ verification checks.</p></li>
<dl class="py method">
<dt id="M2Crypto.SSL.Session.Session.write_bio">
-<code class="sig-name descname">write_bio</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">bio</span><span class="p">:</span> <span class="n">BIO.BIO</span></em><span class="sig-paren">)</span> &#x2192; int<a class="reference internal" href="_modules/M2Crypto/SSL/Session.html#Session.write_bio"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.Session.Session.write_bio" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">write_bio</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">bio</span><span class="p">:</span> <span class="n"><a class="reference internal" href="M2Crypto.html#M2Crypto.BIO.BIO" title="M2Crypto.BIO.BIO">M2Crypto.BIO.BIO</a></span></em><span class="sig-paren">)</span> &#x2192; int<a class="reference internal" href="_modules/M2Crypto/SSL/Session.html#Session.write_bio"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.Session.Session.write_bio" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
@@ -607,8 +1270,119 @@ verification checks.</p></li>
<dd></dd></dl>
</div>
-<div class="section" id="twistedprotocolwrapper-module">
-<h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">TwistedProtocolWrapper</span></code> Module<a class="headerlink" href="#twistedprotocolwrapper-module" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-M2Crypto.SSL.TwistedProtocolWrapper">
+<span id="twistedprotocolwrapper-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">TwistedProtocolWrapper</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.TwistedProtocolWrapper" title="Permalink to this headline">¶</a></h2>
+<p>Make Twisted use M2Crypto for SSL</p>
+<p>Copyright (c) 2004-2007 Open Source Applications Foundation.
+All rights reserved.</p>
+<p>FIXME THIS HAS NOT BEEN FINISHED. NEITHER PEP484 NOR PORT PYTHON3 HAS
+BEEN FINISHED. THE FURTHER WORK WILL BE DONE WHEN THE STATUS OF TWISTED
+IN THE PYTHON 3 (AND ASYNCIO) WORLD WILL BE CLEAR.</p>
+<dl class="py class">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper">
+<em class="property">class </em><code class="sig-prename descclassname">M2Crypto.SSL.TwistedProtocolWrapper.</code><code class="sig-name descname">TLSProtocolWrapper</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">factory</span><span class="p">:</span> <span class="n">twisted.protocols.policies.WrappingFactory</span></em>, <em class="sig-param"><span class="n">wrappedProtocol</span><span class="p">:</span> <span class="n">object</span></em>, <em class="sig-param"><span class="n">startPassThrough</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">client</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">contextFactory</span><span class="p">:</span> <span class="n">object</span></em>, <em class="sig-param"><span class="n">postConnectionCheck</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#M2Crypto.SSL.Checker.Checker" title="M2Crypto.SSL.Checker.Checker">M2Crypto.SSL.Checker.Checker</a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#TLSProtocolWrapper"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.policies.ProtocolWrapper</span></code></p>
+<p>A SSL/TLS protocol wrapper to be used with Twisted. Typically
+you would not use this class directly. Use connectTCP,
+connectSSL, listenTCP, listenSSL functions defined above,
+which will hook in this class.</p>
+<dl class="py method">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.clear">
+<code class="sig-name descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#TLSProtocolWrapper.clear"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.clear" title="Permalink to this definition">¶</a></dt>
+<dd><p>Clear this instance, after which it is ready for reuse.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.connectionLost">
+<code class="sig-name descname">connectionLost</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">reason</span><span class="p">:</span> <span class="n">AnyStr</span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#TLSProtocolWrapper.connectionLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.connectionLost" title="Permalink to this definition">¶</a></dt>
+<dd><p>Called when the connection is shut down.</p>
+<p>Clear any circular references here, and any external references
+to this Protocol. The connection has been closed.</p>
+<p>&#64;type reason: L{twisted.python.failure.Failure}</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.connectionMade">
+<code class="sig-name descname">connectionMade</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#TLSProtocolWrapper.connectionMade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.connectionMade" title="Permalink to this definition">¶</a></dt>
+<dd><p>Called when a connection is made.</p>
+<p>This may be considered the initializer of the protocol, because
+it is called when the connection is completed. For clients,
+this is called once the connection to the server has been
+established; for servers, this is called after an accept() call
+stops blocking and a socket has been received. If you need to
+send any greeting or initial message, do it here.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.dataReceived">
+<code class="sig-name descname">dataReceived</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">data</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#TLSProtocolWrapper.dataReceived"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.dataReceived" title="Permalink to this definition">¶</a></dt>
+<dd><p>Called whenever data is received.</p>
+<p>Use this method to translate to a higher-level message. Usually, some
+callback will be made upon the receipt of each complete protocol
+message.</p>
+<dl class="simple">
+<dt>&#64;param data: a string of indeterminate length. Please keep in mind</dt><dd><p>that you will probably need to buffer some data, as partial
+(or multiple) protocol messages may be received! I recommend
+that unit tests for protocols call through to this method with
+differing chunk sizes, down to one byte at a time.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.loseConnection">
+<code class="sig-name descname">loseConnection</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#TLSProtocolWrapper.loseConnection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.loseConnection" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.startTLS">
+<code class="sig-name descname">startTLS</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">ctx</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#TLSProtocolWrapper.startTLS"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.startTLS" title="Permalink to this definition">¶</a></dt>
+<dd><p>Start SSL/TLS. If this is not called, this instance just passes data
+through untouched.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.write">
+<code class="sig-name descname">write</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">data</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#TLSProtocolWrapper.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.write" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.writeSequence">
+<code class="sig-name descname">writeSequence</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">data</span><span class="p">:</span> <span class="n">Iterable<span class="p">[</span>bytes<span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#TLSProtocolWrapper.writeSequence"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.TLSProtocolWrapper.writeSequence" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.connectSSL">
+<code class="sig-prename descclassname">M2Crypto.SSL.TwistedProtocolWrapper.</code><code class="sig-name descname">connectSSL</code><span class="sig-paren">(</span><em class="sig-param">host: str</em>, <em class="sig-param">port: int</em>, <em class="sig-param">factory: object</em>, <em class="sig-param">contextFactory: object</em>, <em class="sig-param">timeout: int = 30</em>, <em class="sig-param">bindAddress: Optional[str] = None</em>, <em class="sig-param">reactor: twisted.internet.reactor = &lt;twisted.internet.epollreactor.EPollReactor object&gt;</em>, <em class="sig-param">postConnectionCheck: Checker = &lt;M2Crypto.SSL.Checker.Checker object&gt;</em><span class="sig-paren">)</span> &#x2192; reactor.connectTCP<a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#connectSSL"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.connectSSL" title="Permalink to this definition">¶</a></dt>
+<dd><p>A convenience function to start an SSL/TLS connection using Twisted.</p>
+<p>See IReactorSSL interface in Twisted.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.connectTCP">
+<code class="sig-prename descclassname">M2Crypto.SSL.TwistedProtocolWrapper.</code><code class="sig-name descname">connectTCP</code><span class="sig-paren">(</span><em class="sig-param">host: str, port: int, factory: object, timeout: int = 30, bindAddress: Optional[Union[Tuple[str, int], str]] = None, reactor: object = &lt;twisted.internet.epollreactor.EPollReactor object&gt;, postConnectionCheck: Callable = &lt;M2Crypto.SSL.Checker.Checker object&gt;</em><span class="sig-paren">)</span> &#x2192; object<a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#connectTCP"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.connectTCP" title="Permalink to this definition">¶</a></dt>
+<dd><p>A convenience function to start a TCP connection using Twisted.</p>
+<p>NOTE: You must call startTLS(ctx) to go into SSL/TLS mode.</p>
+<p>See IReactorTCP interface in Twisted.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.listenSSL">
+<code class="sig-prename descclassname">M2Crypto.SSL.TwistedProtocolWrapper.</code><code class="sig-name descname">listenSSL</code><span class="sig-paren">(</span><em class="sig-param">port</em>, <em class="sig-param">factory</em>, <em class="sig-param">contextFactory</em>, <em class="sig-param">backlog=5</em>, <em class="sig-param">interface=''</em>, <em class="sig-param">reactor=&lt;twisted.internet.epollreactor.EPollReactor object&gt;</em>, <em class="sig-param">postConnectionCheck=&lt;function _alwaysSucceedsPostConnectionCheck&gt;</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#listenSSL"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.listenSSL" title="Permalink to this definition">¶</a></dt>
+<dd><p>A convenience function to listen for SSL/TLS connections using Twisted.</p>
+<p>See IReactorSSL interface in Twisted.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt id="M2Crypto.SSL.TwistedProtocolWrapper.listenTCP">
+<code class="sig-prename descclassname">M2Crypto.SSL.TwistedProtocolWrapper.</code><code class="sig-name descname">listenTCP</code><span class="sig-paren">(</span><em class="sig-param">port</em>, <em class="sig-param">factory</em>, <em class="sig-param">backlog=5</em>, <em class="sig-param">interface=''</em>, <em class="sig-param">reactor=&lt;twisted.internet.epollreactor.EPollReactor object&gt;</em>, <em class="sig-param">postConnectionCheck=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/TwistedProtocolWrapper.html#listenTCP"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.TwistedProtocolWrapper.listenTCP" title="Permalink to this definition">¶</a></dt>
+<dd><p>A convenience function to listen for TCP connections using Twisted.</p>
+<p>NOTE: You must call startTLS(ctx) to go into SSL/TLS mode.</p>
+<p>See IReactorTCP interface in Twisted.</p>
+</dd></dl>
+
</div>
<div class="section" id="module-M2Crypto.SSL.cb">
<span id="cb-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">cb</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.cb" title="Permalink to this headline">¶</a></h2>
@@ -633,11 +1407,63 @@ verification checks.</p></li>
<dd></dd></dl>
</div>
-<div class="section" id="ssl-dispatcher-module">
-<h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">ssl_dispatcher</span></code> Module<a class="headerlink" href="#ssl-dispatcher-module" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-M2Crypto.SSL.ssl_dispatcher">
+<span id="ssl-dispatcher-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">ssl_dispatcher</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.ssl_dispatcher" title="Permalink to this headline">¶</a></h2>
+<dl class="py class">
+<dt id="M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher">
+<em class="property">class </em><code class="sig-prename descclassname">M2Crypto.SSL.ssl_dispatcher.</code><code class="sig-name descname">ssl_dispatcher</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">sock</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">map</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/ssl_dispatcher.html#ssl_dispatcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">asyncore.dispatcher</span></code></p>
+<dl class="py method">
+<dt id="M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher.connect">
+<code class="sig-name descname">connect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">addr</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>Tuple<span class="p">[</span>str<span class="p">, </span>int<span class="p">]</span><span class="p">, </span>str<span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/M2Crypto/SSL/ssl_dispatcher.html#ssl_dispatcher.connect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher.connect" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher.create_socket">
+<code class="sig-name descname">create_socket</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">ssl_context</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#M2Crypto.SSL.Context.Context" title="M2Crypto.SSL.Context.Context">M2Crypto.SSL.Context.Context</a></span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/M2Crypto/SSL/ssl_dispatcher.html#ssl_dispatcher.create_socket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher.create_socket" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher.recv">
+<code class="sig-name descname">recv</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">buffer_size</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">4096</span></em><span class="sig-paren">)</span> &#x2192; bytes<a class="reference internal" href="_modules/M2Crypto/SSL/ssl_dispatcher.html#ssl_dispatcher.recv"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher.recv" title="Permalink to this definition">¶</a></dt>
+<dd><p>Receive data over SSL.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher.send">
+<code class="sig-name descname">send</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">buffer</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; int<a class="reference internal" href="_modules/M2Crypto/SSL/ssl_dispatcher.html#ssl_dispatcher.send"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.ssl_dispatcher.ssl_dispatcher.send" title="Permalink to this definition">¶</a></dt>
+<dd><p>Send data over SSL.</p>
+</dd></dl>
+
+</dd></dl>
+
</div>
-<div class="section" id="timeout-module">
-<h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">timeout</span></code> Module<a class="headerlink" href="#timeout-module" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-M2Crypto.SSL.timeout">
+<span id="timeout-module"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">timeout</span></code> Module<a class="headerlink" href="#module-M2Crypto.SSL.timeout" title="Permalink to this headline">¶</a></h2>
+<p>Support for SSL socket timeouts.</p>
+<p>Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.</p>
+<p>Copyright 2008 Heikki Toivonen. All rights reserved.</p>
+<dl class="py function">
+<dt id="M2Crypto.SSL.timeout.struct_size">
+<code class="sig-prename descclassname">M2Crypto.SSL.timeout.</code><code class="sig-name descname">struct_size</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; int<a class="reference internal" href="_modules/M2Crypto/SSL/timeout.html#struct_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.timeout.struct_size" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt id="M2Crypto.SSL.timeout.struct_to_timeout">
+<code class="sig-prename descclassname">M2Crypto.SSL.timeout.</code><code class="sig-name descname">struct_to_timeout</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">binstr</span><span class="p">:</span> <span class="n">bytes</span></em><span class="sig-paren">)</span> &#x2192; <a class="reference internal" href="#M2Crypto.SSL.timeout.timeout" title="M2Crypto.SSL.timeout.timeout">M2Crypto.SSL.timeout.timeout</a><a class="reference internal" href="_modules/M2Crypto/SSL/timeout.html#struct_to_timeout"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.timeout.struct_to_timeout" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py class">
+<dt id="M2Crypto.SSL.timeout.timeout">
+<em class="property">class </em><code class="sig-prename descclassname">M2Crypto.SSL.timeout.</code><code class="sig-name descname">timeout</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">sec</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">600</span></em>, <em class="sig-param"><span class="n">microsec</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">0</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/timeout.html#timeout"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.timeout.timeout" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
+<dl class="py method">
+<dt id="M2Crypto.SSL.timeout.timeout.pack">
+<code class="sig-name descname">pack</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/M2Crypto/SSL/timeout.html#timeout.pack"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#M2Crypto.SSL.timeout.timeout.pack" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
</div>
</div>
@@ -661,44 +1487,44 @@ verification checks.</p></li>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="M2Crypto.html">M2Crypto Package</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#id1"><code class="xref py py-mod docutils literal notranslate"><span class="pre">M2Crypto</span></code> Package</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#asn1-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ASN1</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#authcookie-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">AuthCookie</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#bio-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">BIO</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#bn-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">BN</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#dh-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">DH</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#dsa-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">DSA</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#ec-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">EC</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.ASN1"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ASN1</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.AuthCookie"><code class="xref py py-mod docutils literal notranslate"><span class="pre">AuthCookie</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.BIO"><code class="xref py py-mod docutils literal notranslate"><span class="pre">BIO</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.BN"><code class="xref py py-mod docutils literal notranslate"><span class="pre">BN</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.DH"><code class="xref py py-mod docutils literal notranslate"><span class="pre">DH</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.DSA"><code class="xref py py-mod docutils literal notranslate"><span class="pre">DSA</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.EC"><code class="xref py py-mod docutils literal notranslate"><span class="pre">EC</span></code> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.EVP"><code class="xref py py-mod docutils literal notranslate"><span class="pre">EVP</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#engine-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Engine</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.Engine"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Engine</span></code> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.Err"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Err</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#rc4-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">RC4</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.RC4"><code class="xref py py-mod docutils literal notranslate"><span class="pre">RC4</span></code> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.RSA"><code class="xref py py-mod docutils literal notranslate"><span class="pre">RSA</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#rand-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Rand</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#smime-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">SMIME</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#x509-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">X509</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#callback-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">callback</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#ftpslib-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ftpslib</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#httpslib-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">httpslib</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.Rand"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Rand</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.SMIME"><code class="xref py py-mod docutils literal notranslate"><span class="pre">SMIME</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.X509"><code class="xref py py-mod docutils literal notranslate"><span class="pre">X509</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.callback"><code class="xref py py-mod docutils literal notranslate"><span class="pre">callback</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.ftpslib"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ftpslib</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.httpslib"><code class="xref py py-mod docutils literal notranslate"><span class="pre">httpslib</span></code> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.m2"><code class="xref py py-mod docutils literal notranslate"><span class="pre">m2</span></code> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.m2crypto"><code class="xref py py-mod docutils literal notranslate"><span class="pre">m2crypto</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#m2urllib-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">m2urllib</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#m2urllib2-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">m2urllib2</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#m2xmlrpclib-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">m2xmlrpclib</span></code> Module</a></li>
-<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#threading-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">threading</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.m2urllib"><code class="xref py py-mod docutils literal notranslate"><span class="pre">m2urllib</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.m2urllib2"><code class="xref py py-mod docutils literal notranslate"><span class="pre">m2urllib2</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.m2xmlrpclib"><code class="xref py py-mod docutils literal notranslate"><span class="pre">m2xmlrpclib</span></code> Module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.threading"><code class="xref py py-mod docutils literal notranslate"><span class="pre">threading</span></code> Module</a></li>
<li class="toctree-l2"><a class="reference internal" href="M2Crypto.html#module-M2Crypto.util"><code class="xref py py-mod docutils literal notranslate"><span class="pre">util</span></code> Module</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="M2Crypto.html#subpackages">Subpackages</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">SSL Package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id1"><code class="xref py py-mod docutils literal notranslate"><span class="pre">SSL</span></code> Package</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#checker-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Checker</span></code> Module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.Checker"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Checker</span></code> Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.Cipher"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Cipher</span></code> Module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#connection-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Connection</span></code> Module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.Connection"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Connection</span></code> Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.Context"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Context</span></code> Module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#sslserver-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">SSLServer</span></code> Module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.SSLServer"><code class="xref py py-mod docutils literal notranslate"><span class="pre">SSLServer</span></code> Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.Session"><code class="xref py py-mod docutils literal notranslate"><span class="pre">Session</span></code> Module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#twistedprotocolwrapper-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">TwistedProtocolWrapper</span></code> Module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.TwistedProtocolWrapper"><code class="xref py py-mod docutils literal notranslate"><span class="pre">TwistedProtocolWrapper</span></code> Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.cb"><code class="xref py py-mod docutils literal notranslate"><span class="pre">cb</span></code> Module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#ssl-dispatcher-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ssl_dispatcher</span></code> Module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#timeout-module"><code class="xref py py-mod docutils literal notranslate"><span class="pre">timeout</span></code> Module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.ssl_dispatcher"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ssl_dispatcher</span></code> Module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-M2Crypto.SSL.timeout"><code class="xref py py-mod docutils literal notranslate"><span class="pre">timeout</span></code> Module</a></li>
</ul>
</li>
</ul>