Mercurial > public > mercurial-scm > hg
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: |