diff options
author | Gregory P. Smith <greg@mad-scientist.com> | 2008-01-17 07:43:20 (GMT) |
---|---|---|
committer | Gregory P. Smith <greg@mad-scientist.com> | 2008-01-17 07:43:20 (GMT) |
commit | 63bfc1d19fa1abe7d1b7d3e25a17083f8077f6fa (patch) | |
tree | 382f169cef22f95f7d005a3b59ad0d7bb0232721 | |
parent | 473170908e11e347aca4adf23738a82162b981e3 (diff) | |
download | cpython-63bfc1d19fa1abe7d1b7d3e25a17083f8077f6fa.zip cpython-63bfc1d19fa1abe7d1b7d3e25a17083f8077f6fa.tar.gz cpython-63bfc1d19fa1abe7d1b7d3e25a17083f8077f6fa.tar.bz2 |
Comply with RFC 3207.
Fixes issue 829951 - http://bugs.python.org/issue829951
-rw-r--r-- | Doc/whatsnew/2.6.rst | 6 | ||||
-rwxr-xr-x | Lib/smtplib.py | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst index 126f546..48efaba 100644 --- a/Doc/whatsnew/2.6.rst +++ b/Doc/whatsnew/2.6.rst @@ -1091,6 +1091,12 @@ complete list of changes, or look through the CVS logs for all the details. .. Patch #957003 +* In the :mod:`smtplib` module, SMTP.starttls() now complies with :rfc:`3207` + and forgets any knowledge obtained from the server not obtained from + the TLS negotiation itself. Patch contributed by Bill Fenner. + + .. Issue 829951 + * The :mod:`socket` module now supports TIPC (http://tipc.sf.net), a high-performance non-IP-based protocol designed for use in clustered environments. TIPC addresses are 4- or 5-tuples. diff --git a/Lib/smtplib.py b/Lib/smtplib.py index 5604241..97b1e20 100755 --- a/Lib/smtplib.py +++ b/Lib/smtplib.py @@ -589,6 +589,14 @@ class SMTP: raise RuntimeError("No SSL support included in this Python") self.sock = ssl.wrap_socket(self.sock, keyfile, certfile) self.file = SSLFakeFile(self.sock) + # RFC 3207: + # The client MUST discard any knowledge obtained from + # the server, such as the list of SMTP service extensions, + # which was not obtained from the TLS negotiation itself. + self.helo_resp = None + self.ehlo_resp = None + self.esmtp_features = {} + self.does_esmtp = 0 return (resp, reply) def sendmail(self, from_addr, to_addrs, msg, mail_options=[], |