diff --git a/mercurial/sslutil.py b/mercurial/sslutil.py --- a/mercurial/sslutil.py +++ b/mercurial/sslutil.py @@ -89,16 +89,18 @@ def _verifycert(cert, hostname): # busted on those versions. def sslkwargs(ui, host): - cacerts = ui.config('web', 'cacerts') forcetls = ui.configbool('ui', 'tls', default=True) if forcetls: ssl_version = PROTOCOL_TLSv1 else: ssl_version = PROTOCOL_SSLv23 - hostfingerprint = ui.config('hostfingerprints', host) kws = {'ssl_version': ssl_version, } - if cacerts and not hostfingerprint: + hostfingerprint = ui.config('hostfingerprints', host) + if hostfingerprint: + return kws + cacerts = ui.config('web', 'cacerts') + if cacerts: cacerts = util.expandpath(cacerts) if not os.path.exists(cacerts): raise util.Abort(_('could not find web.cacerts: %s') % cacerts)