[PATCH 6 of 7] url: always create BetterHTTPS connections the same way
Mads Kiilerich
mads at kiilerich.com
Wed Feb 16 03:41:27 UTC 2011
# HG changeset patch
# User Mads Kiilerich <mads at kiilerich.com>
# Date 1297826897 -3600
# Node ID f88260914c7cbe91ec232dfd2e8955581e236125
# Parent 03c765db05066230dea3239a44aeae3b7d81162e
url: always create BetterHTTPS connections the same way
diff --git a/mercurial/url.py b/mercurial/url.py
--- a/mercurial/url.py
+++ b/mercurial/url.py
@@ -546,12 +546,13 @@
send = keepalive.safesend
def connect(self):
+ self.sock = _create_connection((self.host, self.port))
+
host = self.host
cacerts = self.ui.config('web', 'cacerts')
hostfingerprint = self.ui.config('hostfingerprints', host)
if cacerts and not hostfingerprint:
- sock = _create_connection((self.host, self.port))
self.sock = _ssl_wrap_socket(self.sock, self.key_file,
self.cert_file, cert_reqs=CERT_REQUIRED,
ca_certs=util.expandpath(cacerts))
@@ -562,7 +563,8 @@
'insecurely)') % (host, msg))
self.ui.debug('%s certificate successfully verified\n' % host)
else:
- httplib.HTTPSConnection.connect(self)
+ self.sock = _ssl_wrap_socket(self.sock, self.key_file,
+ self.cert_file)
if hasattr(self.sock, 'getpeercert'):
peercert = self.sock.getpeercert(True)
peerfingerprint = util.sha1(peercert).hexdigest()
More information about the Mercurial-devel
mailing list