mercurial/url.py
branchstable
changeset 13248 00411a4fa1bb
parent 13231 b335882c2f21
child 13249 75d0c38a0bca
--- a/mercurial/url.py	Sat Jan 08 11:18:38 2011 +0100
+++ b/mercurial/url.py	Sat Jan 08 21:52:25 2011 +0900
@@ -498,7 +498,11 @@
     for s in cert.get('subject', []):
         key, value = s[0]
         if key == 'commonName':
-            certname = value.lower()
+            try:
+                # 'subject' entries are unicode
+                certname = value.lower().encode('ascii')
+            except UnicodeEncodeError:
+                return _('IDN in certificate not supported')
             if (certname == dnsname or
                 '.' in dnsname and certname == '*.' + dnsname.split('.', 1)[1]):
                 return None