comparison mercurial/sslutil.py @ 16391:9cf7c9d529d0

ui: optionally quiesce ssl verification warnings on python 2.5 Some platforms, notably Plan 9 from Bell Labs are stuck on older releases of Python. Due to restrictions in the platform, it is not possible to backport the SSL library to the existing Python port. This patch permits the UI to quiesce SSL verification warnings by adding a configuration entry named reportoldssl to ui.
author Steven Stallion <sstallion@gmail.com>
date Mon, 09 Apr 2012 14:36:16 -0700
parents a45516cb8d9f
children 93b03a222c3e
comparison
equal deleted inserted replaced
16390:4df76d5506a9 16391:9cf7c9d529d0
105 hostfingerprint = self.ui.config('hostfingerprints', host) 105 hostfingerprint = self.ui.config('hostfingerprints', host)
106 if not getattr(sock, 'getpeercert', False): # python 2.5 ? 106 if not getattr(sock, 'getpeercert', False): # python 2.5 ?
107 if hostfingerprint: 107 if hostfingerprint:
108 raise util.Abort(_("host fingerprint for %s can't be " 108 raise util.Abort(_("host fingerprint for %s can't be "
109 "verified (Python too old)") % host) 109 "verified (Python too old)") % host)
110 self.ui.warn(_("warning: certificate for %s can't be verified " 110 if self.ui.configbool('ui', 'reportoldssl', True):
111 "(Python too old)\n") % host) 111 self.ui.warn(_("warning: certificate for %s can't be verified "
112 "(Python too old)\n") % host)
112 return 113 return
113 if not sock.cipher(): # work around http://bugs.python.org/issue13721 114 if not sock.cipher(): # work around http://bugs.python.org/issue13721
114 raise util.Abort(_('%s ssl connection error') % host) 115 raise util.Abort(_('%s ssl connection error') % host)
115 peercert = sock.getpeercert(True) 116 peercert = sock.getpeercert(True)
116 if not peercert: 117 if not peercert: