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.
--- a/mercurial/help/config.txt Mon Apr 09 22:16:26 2012 -0700
+++ b/mercurial/help/config.txt Mon Apr 09 14:36:16 2012 -0700
@@ -1135,6 +1135,10 @@
``remotecmd``
remote command to use for clone/push/pull operations. Default is ``hg``.
+``reportoldssl``
+ Warn if an SSL certificate is unable to be due to using Python
+ 2.5 or earlier. True or False. Default is True.
+
``report_untrusted``
Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
trusted user or group. True or False. Default is True.
--- a/mercurial/sslutil.py Mon Apr 09 22:16:26 2012 -0700
+++ b/mercurial/sslutil.py Mon Apr 09 14:36:16 2012 -0700
@@ -107,8 +107,9 @@
if hostfingerprint:
raise util.Abort(_("host fingerprint for %s can't be "
"verified (Python too old)") % host)
- self.ui.warn(_("warning: certificate for %s can't be verified "
- "(Python too old)\n") % host)
+ if self.ui.configbool('ui', 'reportoldssl', True):
+ self.ui.warn(_("warning: certificate for %s can't be verified "
+ "(Python too old)\n") % host)
return
if not sock.cipher(): # work around http://bugs.python.org/issue13721
raise util.Abort(_('%s ssl connection error') % host)