blob: 45af505e753674df439d33a56c007877ae0162ec [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module gdata.tlslite.integration.POP3_TLS</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="gdata.html"><font color="#ffffff">gdata</font></a>.<a href="gdata.tlslite.html"><font color="#ffffff">tlslite</font></a>.<a href="gdata.tlslite.integration.html"><font color="#ffffff">integration</font></a>.POP3_TLS</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/tlslite/integration/POP3_TLS.py">/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/tlslite/integration/POP3_TLS.py</a></font></td></tr></table>
<p><tt>TLS&nbsp;Lite&nbsp;+&nbsp;poplib.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="socket.html">socket</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="gdata.tlslite.integration.ClientHelper.html#ClientHelper">gdata.tlslite.integration.ClientHelper.ClientHelper</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="gdata.tlslite.integration.POP3_TLS.html#POP3_TLS">POP3_TLS</a>(<a href="poplib.html#POP3">poplib.POP3</a>, <a href="gdata.tlslite.integration.ClientHelper.html#ClientHelper">gdata.tlslite.integration.ClientHelper.ClientHelper</a>)
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="poplib.html#POP3">poplib.POP3</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="gdata.tlslite.integration.POP3_TLS.html#POP3_TLS">POP3_TLS</a>(<a href="poplib.html#POP3">poplib.POP3</a>, <a href="gdata.tlslite.integration.ClientHelper.html#ClientHelper">gdata.tlslite.integration.ClientHelper.ClientHelper</a>)
</font></dt></dl>
</dd>
</dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="POP3_TLS">class <strong>POP3_TLS</strong></a>(<a href="poplib.html#POP3">poplib.POP3</a>, <a href="gdata.tlslite.integration.ClientHelper.html#ClientHelper">gdata.tlslite.integration.ClientHelper.ClientHelper</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>This&nbsp;class&nbsp;extends&nbsp;L{poplib.<a href="poplib.html#POP3">POP3</a>}&nbsp;with&nbsp;TLS&nbsp;support.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="gdata.tlslite.integration.POP3_TLS.html#POP3_TLS">POP3_TLS</a></dd>
<dd><a href="poplib.html#POP3">poplib.POP3</a></dd>
<dd><a href="gdata.tlslite.integration.ClientHelper.html#ClientHelper">gdata.tlslite.integration.ClientHelper.ClientHelper</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="POP3_TLS-__init__"><strong>__init__</strong></a>(self, host, port<font color="#909090">=995</font>, username<font color="#909090">=None</font>, password<font color="#909090">=None</font>, sharedKey<font color="#909090">=None</font>, certChain<font color="#909090">=None</font>, privateKey<font color="#909090">=None</font>, cryptoID<font color="#909090">=None</font>, protocol<font color="#909090">=None</font>, x509Fingerprint<font color="#909090">=None</font>, x509TrustList<font color="#909090">=None</font>, x509CommonName<font color="#909090">=None</font>, settings<font color="#909090">=None</font>)</dt><dd><tt>Create&nbsp;a&nbsp;new&nbsp;<a href="#POP3_TLS">POP3_TLS</a>.<br>
&nbsp;<br>
For&nbsp;client&nbsp;authentication,&nbsp;use&nbsp;one&nbsp;of&nbsp;these&nbsp;argument<br>
combinations:<br>
&nbsp;-&nbsp;username,&nbsp;password&nbsp;(SRP)<br>
&nbsp;-&nbsp;username,&nbsp;sharedKey&nbsp;(shared-key)<br>
&nbsp;-&nbsp;certChain,&nbsp;privateKey&nbsp;(certificate)<br>
&nbsp;<br>
For&nbsp;server&nbsp;authentication,&nbsp;you&nbsp;can&nbsp;either&nbsp;rely&nbsp;on&nbsp;the<br>
implicit&nbsp;mutual&nbsp;authentication&nbsp;performed&nbsp;by&nbsp;SRP&nbsp;or<br>
shared-keys,&nbsp;or&nbsp;you&nbsp;can&nbsp;do&nbsp;certificate-based&nbsp;server<br>
authentication&nbsp;with&nbsp;one&nbsp;of&nbsp;these&nbsp;argument&nbsp;combinations:<br>
&nbsp;-&nbsp;cryptoID[,&nbsp;protocol]&nbsp;(requires&nbsp;cryptoIDlib)<br>
&nbsp;-&nbsp;x509Fingerprint<br>
&nbsp;-&nbsp;x509TrustList[,&nbsp;x509CommonName]&nbsp;(requires&nbsp;cryptlib_py)<br>
&nbsp;<br>
Certificate-based&nbsp;server&nbsp;authentication&nbsp;is&nbsp;compatible&nbsp;with<br>
SRP&nbsp;or&nbsp;certificate-based&nbsp;client&nbsp;authentication.&nbsp;&nbsp;It&nbsp;is<br>
not&nbsp;compatible&nbsp;with&nbsp;shared-keys.<br>
&nbsp;<br>
The&nbsp;caller&nbsp;should&nbsp;be&nbsp;prepared&nbsp;to&nbsp;handle&nbsp;TLS-specific<br>
exceptions.&nbsp;&nbsp;See&nbsp;the&nbsp;client&nbsp;handshake&nbsp;functions&nbsp;in<br>
L{tlslite.TLSConnection.TLSConnection}&nbsp;for&nbsp;details&nbsp;on&nbsp;which<br>
exceptions&nbsp;might&nbsp;be&nbsp;raised.<br>
&nbsp;<br>
@type&nbsp;host:&nbsp;str<br>
@param&nbsp;host:&nbsp;Server&nbsp;to&nbsp;connect&nbsp;to.<br>
&nbsp;<br>
@type&nbsp;port:&nbsp;int<br>
@param&nbsp;port:&nbsp;Port&nbsp;to&nbsp;connect&nbsp;to.<br>
&nbsp;<br>
@type&nbsp;username:&nbsp;str<br>
@param&nbsp;username:&nbsp;SRP&nbsp;or&nbsp;shared-key&nbsp;username.&nbsp;&nbsp;Requires&nbsp;the<br>
'password'&nbsp;or&nbsp;'sharedKey'&nbsp;argument.<br>
&nbsp;<br>
@type&nbsp;password:&nbsp;str<br>
@param&nbsp;password:&nbsp;SRP&nbsp;password&nbsp;for&nbsp;mutual&nbsp;authentication.<br>
Requires&nbsp;the&nbsp;'username'&nbsp;argument.<br>
&nbsp;<br>
@type&nbsp;sharedKey:&nbsp;str<br>
@param&nbsp;sharedKey:&nbsp;Shared&nbsp;key&nbsp;for&nbsp;mutual&nbsp;authentication.<br>
Requires&nbsp;the&nbsp;'username'&nbsp;argument.<br>
&nbsp;<br>
@type&nbsp;certChain:&nbsp;L{tlslite.X509CertChain.X509CertChain}&nbsp;or<br>
L{cryptoIDlib.CertChain.CertChain}<br>
@param&nbsp;certChain:&nbsp;Certificate&nbsp;chain&nbsp;for&nbsp;client&nbsp;authentication.<br>
Requires&nbsp;the&nbsp;'privateKey'&nbsp;argument.&nbsp;&nbsp;Excludes&nbsp;the&nbsp;SRP&nbsp;or<br>
shared-key&nbsp;related&nbsp;arguments.<br>
&nbsp;<br>
@type&nbsp;privateKey:&nbsp;L{tlslite.utils.RSAKey.RSAKey}<br>
@param&nbsp;privateKey:&nbsp;Private&nbsp;key&nbsp;for&nbsp;client&nbsp;authentication.<br>
Requires&nbsp;the&nbsp;'certChain'&nbsp;argument.&nbsp;&nbsp;Excludes&nbsp;the&nbsp;SRP&nbsp;or<br>
shared-key&nbsp;related&nbsp;arguments.<br>
&nbsp;<br>
@type&nbsp;cryptoID:&nbsp;str<br>
@param&nbsp;cryptoID:&nbsp;cryptoID&nbsp;for&nbsp;server&nbsp;authentication.&nbsp;&nbsp;Mutually<br>
exclusive&nbsp;with&nbsp;the&nbsp;'x509...'&nbsp;arguments.<br>
&nbsp;<br>
@type&nbsp;protocol:&nbsp;str<br>
@param&nbsp;protocol:&nbsp;cryptoID&nbsp;protocol&nbsp;URI&nbsp;for&nbsp;server<br>
authentication.&nbsp;&nbsp;Requires&nbsp;the&nbsp;'cryptoID'&nbsp;argument.<br>
&nbsp;<br>
@type&nbsp;x509Fingerprint:&nbsp;str<br>
@param&nbsp;x509Fingerprint:&nbsp;Hex-encoded&nbsp;X.509&nbsp;fingerprint&nbsp;for<br>
server&nbsp;authentication.&nbsp;&nbsp;Mutually&nbsp;exclusive&nbsp;with&nbsp;the&nbsp;'cryptoID'<br>
and&nbsp;'x509TrustList'&nbsp;arguments.<br>
&nbsp;<br>
@type&nbsp;x509TrustList:&nbsp;list&nbsp;of&nbsp;L{tlslite.X509.X509}<br>
@param&nbsp;x509TrustList:&nbsp;A&nbsp;list&nbsp;of&nbsp;trusted&nbsp;root&nbsp;certificates.&nbsp;&nbsp;The<br>
other&nbsp;party&nbsp;must&nbsp;present&nbsp;a&nbsp;certificate&nbsp;chain&nbsp;which&nbsp;extends&nbsp;to<br>
one&nbsp;of&nbsp;these&nbsp;root&nbsp;certificates.&nbsp;&nbsp;The&nbsp;cryptlib_py&nbsp;module&nbsp;must&nbsp;be<br>
installed&nbsp;to&nbsp;use&nbsp;this&nbsp;parameter.&nbsp;&nbsp;Mutually&nbsp;exclusive&nbsp;with&nbsp;the<br>
'cryptoID'&nbsp;and&nbsp;'x509Fingerprint'&nbsp;arguments.<br>
&nbsp;<br>
@type&nbsp;x509CommonName:&nbsp;str<br>
@param&nbsp;x509CommonName:&nbsp;The&nbsp;end-entity&nbsp;certificate's&nbsp;'CN'&nbsp;field<br>
must&nbsp;match&nbsp;this&nbsp;value.&nbsp;&nbsp;For&nbsp;a&nbsp;web&nbsp;server,&nbsp;this&nbsp;is&nbsp;typically&nbsp;a<br>
server&nbsp;name&nbsp;such&nbsp;as&nbsp;'www.amazon.com'.&nbsp;&nbsp;Mutually&nbsp;exclusive&nbsp;with<br>
the&nbsp;'cryptoID'&nbsp;and&nbsp;'x509Fingerprint'&nbsp;arguments.&nbsp;&nbsp;Requires&nbsp;the<br>
'x509TrustList'&nbsp;argument.<br>
&nbsp;<br>
@type&nbsp;settings:&nbsp;L{tlslite.HandshakeSettings.HandshakeSettings}<br>
@param&nbsp;settings:&nbsp;Various&nbsp;settings&nbsp;which&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;control<br>
the&nbsp;ciphersuites,&nbsp;certificate&nbsp;types,&nbsp;and&nbsp;SSL/TLS&nbsp;versions<br>
offered&nbsp;by&nbsp;the&nbsp;client.</tt></dd></dl>
<hr>
Methods inherited from <a href="poplib.html#POP3">poplib.POP3</a>:<br>
<dl><dt><a name="POP3_TLS-apop"><strong>apop</strong></a>(self, user, secret)</dt><dd><tt>Authorisation<br>
&nbsp;<br>
-&nbsp;only&nbsp;possible&nbsp;if&nbsp;server&nbsp;has&nbsp;supplied&nbsp;a&nbsp;timestamp&nbsp;in&nbsp;initial&nbsp;greeting.<br>
&nbsp;<br>
Args:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;mailbox&nbsp;user;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;secret&nbsp;&nbsp;-&nbsp;secret&nbsp;shared&nbsp;between&nbsp;client&nbsp;and&nbsp;server.<br>
&nbsp;<br>
NB:&nbsp;mailbox&nbsp;is&nbsp;locked&nbsp;by&nbsp;server&nbsp;from&nbsp;here&nbsp;to&nbsp;'<a href="#POP3_TLS-quit">quit</a>()'</tt></dd></dl>
<dl><dt><a name="POP3_TLS-dele"><strong>dele</strong></a>(self, which)</dt><dd><tt>Delete&nbsp;message&nbsp;number&nbsp;'which'.<br>
&nbsp;<br>
Result&nbsp;is&nbsp;'response'.</tt></dd></dl>
<dl><dt><a name="POP3_TLS-getwelcome"><strong>getwelcome</strong></a>(self)</dt></dl>
<dl><dt><a name="POP3_TLS-list"><strong>list</strong></a>(self, which<font color="#909090">=None</font>)</dt><dd><tt>Request&nbsp;listing,&nbsp;return&nbsp;result.<br>
&nbsp;<br>
Result&nbsp;without&nbsp;a&nbsp;message&nbsp;number&nbsp;argument&nbsp;is&nbsp;in&nbsp;form<br>
['response',&nbsp;['mesg_num&nbsp;octets',&nbsp;...],&nbsp;octets].<br>
&nbsp;<br>
Result&nbsp;when&nbsp;a&nbsp;message&nbsp;number&nbsp;argument&nbsp;is&nbsp;given&nbsp;is&nbsp;a<br>
single&nbsp;response:&nbsp;the&nbsp;"scan&nbsp;listing"&nbsp;for&nbsp;that&nbsp;message.</tt></dd></dl>
<dl><dt><a name="POP3_TLS-noop"><strong>noop</strong></a>(self)</dt><dd><tt>Does&nbsp;nothing.<br>
&nbsp;<br>
One&nbsp;supposes&nbsp;the&nbsp;response&nbsp;indicates&nbsp;the&nbsp;server&nbsp;is&nbsp;alive.</tt></dd></dl>
<dl><dt><a name="POP3_TLS-pass_"><strong>pass_</strong></a>(self, pswd)</dt><dd><tt>Send&nbsp;password,&nbsp;return&nbsp;response<br>
&nbsp;<br>
(response&nbsp;includes&nbsp;message&nbsp;count,&nbsp;mailbox&nbsp;size).<br>
&nbsp;<br>
NB:&nbsp;mailbox&nbsp;is&nbsp;locked&nbsp;by&nbsp;server&nbsp;from&nbsp;here&nbsp;to&nbsp;'<a href="#POP3_TLS-quit">quit</a>()'</tt></dd></dl>
<dl><dt><a name="POP3_TLS-quit"><strong>quit</strong></a>(self)</dt><dd><tt>Signoff:&nbsp;commit&nbsp;changes&nbsp;on&nbsp;server,&nbsp;unlock&nbsp;mailbox,&nbsp;close&nbsp;connection.</tt></dd></dl>
<dl><dt><a name="POP3_TLS-retr"><strong>retr</strong></a>(self, which)</dt><dd><tt>Retrieve&nbsp;whole&nbsp;message&nbsp;number&nbsp;'which'.<br>
&nbsp;<br>
Result&nbsp;is&nbsp;in&nbsp;form&nbsp;['response',&nbsp;['line',&nbsp;...],&nbsp;octets].</tt></dd></dl>
<dl><dt><a name="POP3_TLS-rpop"><strong>rpop</strong></a>(self, user)</dt><dd><tt>Not&nbsp;sure&nbsp;what&nbsp;this&nbsp;does.</tt></dd></dl>
<dl><dt><a name="POP3_TLS-rset"><strong>rset</strong></a>(self)</dt><dd><tt>Unmark&nbsp;all&nbsp;messages&nbsp;marked&nbsp;for&nbsp;deletion.</tt></dd></dl>
<dl><dt><a name="POP3_TLS-set_debuglevel"><strong>set_debuglevel</strong></a>(self, level)</dt></dl>
<dl><dt><a name="POP3_TLS-stat"><strong>stat</strong></a>(self)</dt><dd><tt>Get&nbsp;mailbox&nbsp;status.<br>
&nbsp;<br>
Result&nbsp;is&nbsp;tuple&nbsp;of&nbsp;2&nbsp;ints&nbsp;(message&nbsp;count,&nbsp;mailbox&nbsp;size)</tt></dd></dl>
<dl><dt><a name="POP3_TLS-top"><strong>top</strong></a>(self, which, howmuch)</dt><dd><tt>Retrieve&nbsp;message&nbsp;header&nbsp;of&nbsp;message&nbsp;number&nbsp;'which'<br>
and&nbsp;first&nbsp;'howmuch'&nbsp;lines&nbsp;of&nbsp;message&nbsp;body.<br>
&nbsp;<br>
Result&nbsp;is&nbsp;in&nbsp;form&nbsp;['response',&nbsp;['line',&nbsp;...],&nbsp;octets].</tt></dd></dl>
<dl><dt><a name="POP3_TLS-uidl"><strong>uidl</strong></a>(self, which<font color="#909090">=None</font>)</dt><dd><tt>Return&nbsp;message&nbsp;digest&nbsp;(unique&nbsp;id)&nbsp;list.<br>
&nbsp;<br>
If&nbsp;'which',&nbsp;result&nbsp;contains&nbsp;unique&nbsp;id&nbsp;for&nbsp;that&nbsp;message<br>
in&nbsp;the&nbsp;form&nbsp;'response&nbsp;mesgnum&nbsp;uid',&nbsp;otherwise&nbsp;result&nbsp;is<br>
the&nbsp;list&nbsp;['response',&nbsp;['mesgnum&nbsp;uid',&nbsp;...],&nbsp;octets]</tt></dd></dl>
<dl><dt><a name="POP3_TLS-user"><strong>user</strong></a>(self, user)</dt><dd><tt>Send&nbsp;user&nbsp;name,&nbsp;return&nbsp;response<br>
&nbsp;<br>
(should&nbsp;indicate&nbsp;password&nbsp;required).</tt></dd></dl>
<hr>
Data and other attributes inherited from <a href="poplib.html#POP3">poplib.POP3</a>:<br>
<dl><dt><strong>timestamp</strong> = &lt;_sre.SRE_Pattern object&gt;</dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>POP3_TLS_PORT</strong> = 995</td></tr></table>
</body></html>