mercurial/sslutil.py
changeset 29927 799e36749f1a
parent 29631 387bdd53c77e
child 30228 b9f7b0c10027
equal deleted inserted replaced
29926:be16091ac14d 29927:799e36749f1a
   388 
   388 
   389     if settings['cafile'] is not None:
   389     if settings['cafile'] is not None:
   390         try:
   390         try:
   391             sslcontext.load_verify_locations(cafile=settings['cafile'])
   391             sslcontext.load_verify_locations(cafile=settings['cafile'])
   392         except ssl.SSLError as e:
   392         except ssl.SSLError as e:
       
   393             if len(e.args) == 1: # pypy has different SSLError args
       
   394                 msg = e.args[0]
       
   395             else:
       
   396                 msg = e.args[1]
   393             raise error.Abort(_('error loading CA file %s: %s') % (
   397             raise error.Abort(_('error loading CA file %s: %s') % (
   394                               settings['cafile'], e.args[1]),
   398                               settings['cafile'], msg),
   395                               hint=_('file is empty or malformed?'))
   399                               hint=_('file is empty or malformed?'))
   396         caloaded = True
   400         caloaded = True
   397     elif settings['allowloaddefaultcerts']:
   401     elif settings['allowloaddefaultcerts']:
   398         # This is a no-op on old Python.
   402         # This is a no-op on old Python.
   399         sslcontext.load_default_certs()
   403         sslcontext.load_default_certs()