From 48aae57996c89a5601534320fdd078da978fb7bb Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Mon, 2 Dec 2013 20:01:29 +0100 Subject: Issue #19782: imaplib now supports SSLContext.check_hostname and server name indication for TLS/SSL connections. --- Lib/imaplib.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Lib/imaplib.py') diff --git a/Lib/imaplib.py b/Lib/imaplib.py index dabf161b87..ade2f9c2aa 100644 --- a/Lib/imaplib.py +++ b/Lib/imaplib.py @@ -745,7 +745,9 @@ class IMAP4: ssl_context = ssl._create_stdlib_context() typ, dat = self._simple_command(name) if typ == 'OK': - self.sock = ssl_context.wrap_socket(self.sock) + server_hostname = self.host if ssl.HAS_SNI else None + self.sock = ssl_context.wrap_socket(self.sock, + server_hostname=server_hostname) self.file = self.sock.makefile('rb') self._tls_established = True self._get_capabilities() @@ -1216,7 +1218,9 @@ if HAVE_SSL: def _create_socket(self): sock = IMAP4._create_socket(self) - return self.ssl_context.wrap_socket(sock) + server_hostname = self.host if ssl.HAS_SNI else None + return self.ssl_context.wrap_socket(sock, + server_hostname=server_hostname) def open(self, host='', port=IMAP4_SSL_PORT): """Setup connection to remote server on "host:port". -- cgit v1.2.1