summarylogtreecommitdiffstats
path: root/deprecated-ssl.diff
blob: b22cafa9af36912aedd6ed7da86710eaf898b4ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
diff --git a/Mailnag/common/imaplib2.py b/Mailnag/common/imaplib2.py
index dfce0b4..e97ccab 100644
--- a/Mailnag/common/imaplib2.py
+++ b/Mailnag/common/imaplib2.py
@@ -309,6 +309,7 @@ class IMAP4(object):
         self.compressor = None          # COMPRESS/DEFLATE if not None
         self.decompressor = None
         self._tls_established = False
+        self._ssl_context = None
 
         # Create unique tag for this session,
         # and compile tagged response matcher.
@@ -492,7 +493,13 @@ class IMAP4(object):
 
             ssl_version =  TLS_MAP[self.tls_level][self.ssl_version]
 
-            self.sock = ssl.wrap_socket(self.sock, self.keyfile, self.certfile, ca_certs=self.ca_certs, cert_reqs=cert_reqs, ssl_version=ssl_version)
+            self._ssl_context = ssl.SSLContext(ssl_version)
+            self._ssl_context.verify_mode = cert_reqs
+            if self.ca_certs:
+                self._ssl_context.load_verify_locations(self.ca_certs)
+            if self.keyfile and self.certfile:
+                self._ssl_context.load_cert_chain(self.certfile, self.keyfile)
+            self.sock = self._ssl_context.wrap_socket(self.sock, server_hostname=self.host)
             ssl_exc = ssl.SSLError
             self.read_fd = self.sock.fileno()
         except ImportError: