Browse Source

Issue #19509: Don't close the socket in do_handshake() when hostname verification fails.

pull/224/head
Christian Heimes 12 years ago
parent
commit
1da3ba8697
  1. 13
      Lib/ssl.py

13
Lib/ssl.py

@ -764,15 +764,10 @@ class SSLSocket(socket):
self.settimeout(timeout)
if self.context.check_hostname:
try:
if not self.server_hostname:
raise ValueError("check_hostname needs server_hostname "
"argument")
match_hostname(self.getpeercert(), self.server_hostname)
except Exception:
self.shutdown(_SHUT_RDWR)
self.close()
raise
if not self.server_hostname:
raise ValueError("check_hostname needs server_hostname "
"argument")
match_hostname(self.getpeercert(), self.server_hostname)
def _real_connect(self, addr, connect_ex):
if self.server_side:

Loading…
Cancel
Save