--- a/mercurial/sslutil.py Wed Jun 29 18:15:28 2016 -0700
+++ b/mercurial/sslutil.py Wed Jun 29 19:37:38 2016 -0700
@@ -268,7 +268,12 @@
sslcontext.load_cert_chain(certfile, keyfile, password)
if settings['cafile'] is not None:
- sslcontext.load_verify_locations(cafile=settings['cafile'])
+ try:
+ sslcontext.load_verify_locations(cafile=settings['cafile'])
+ except ssl.SSLError as e:
+ raise error.Abort(_('error loading CA file %s: %s') % (
+ settings['cafile'], e.args[1]),
+ hint=_('file is empty or malformed?'))
caloaded = True
elif settings['allowloaddefaultcerts']:
# This is a no-op on old Python.