mirror of
https://opendev.org/x/pyghmi
synced 2026-04-11 20:41:29 +00:00
Explicitly close socket on certificate error
Change-Id: I3df7a2e3c2a043c186c47860d9a9d1855f81ec92
This commit is contained in:
@@ -208,9 +208,17 @@ class SecureHTTPConnection(httplib.HTTPConnection, object):
|
||||
ctx.verify_mode = ssl.CERT_NONE
|
||||
self.sock = ctx.wrap_socket(plainsock)
|
||||
bincert = self.sock.getpeercert(binary_form=True)
|
||||
if not self._certverify(bincert):
|
||||
raise pygexc.UnrecognizedCertificate('Unknown certificate',
|
||||
bincert)
|
||||
try:
|
||||
if not self._certverify(bincert):
|
||||
raise pygexc.UnrecognizedCertificate('Unknown certificate',
|
||||
bincert)
|
||||
except Exception:
|
||||
try:
|
||||
self.sock.close()
|
||||
except Exception:
|
||||
pass
|
||||
self.sock = None
|
||||
raise
|
||||
else:
|
||||
ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
|
||||
ctx.load_default_certs()
|
||||
|
||||
Reference in New Issue
Block a user