cpython: b6fce698e467 (original) (raw)
Mercurial > cpython
changeset 87763:b6fce698e467
Issue #19509: Don't close the socket in do_handshake() when hostname verification fails. [#19509]
Christian Heimes christian@cheimes.de | |
---|---|
date | Wed, 04 Dec 2013 20:46:20 +0100 |
parents | 0830670a9d9d |
children | de531b2cfef0 |
files | Lib/ssl.py |
diffstat | 1 files changed, 4 insertions(+), 9 deletions(-)[+] [-] Lib/ssl.py 13 |
line wrap: on
line diff
--- a/Lib/ssl.py +++ b/Lib/ssl.py @@ -764,15 +764,10 @@ class SSLSocket(socket): self.settimeout(timeout) if self.context.check_hostname:
try:[](#l1.7)
if not self.server_hostname:[](#l1.8)
raise ValueError("check_hostname needs server_hostname "[](#l1.9)
"argument")[](#l1.10)
match_hostname(self.getpeercert(), self.server_hostname)[](#l1.11)
except Exception:[](#l1.12)
self.shutdown(_SHUT_RDWR)[](#l1.13)
self.close()[](#l1.14)
raise[](#l1.15)
if not self.server_hostname:[](#l1.16)
raise ValueError("check_hostname needs server_hostname "[](#l1.17)
"argument")[](#l1.18)
match_hostname(self.getpeercert(), self.server_hostname)[](#l1.19)
def _real_connect(self, addr, connect_ex): if self.server_side: