url: let host port take precedence when connecting to HTTPS
authorHenrik Stuart <hg@hstuart.dk>
Sat, 20 Jun 2009 17:09:49 +0200
changeset 8848 89b71acdac9a
parent 8847 7951f385fcb7
child 8849 80cc4b1a62d0
url: let host port take precedence when connecting to HTTPS Fixes use of HTTPS connections on non-standard ports.
mercurial/url.py
--- a/mercurial/url.py	Sat Jun 20 10:58:57 2009 +0200
+++ b/mercurial/url.py	Sat Jun 20 17:09:49 2009 +0200
@@ -438,6 +438,12 @@
                 keyfile = self.auth['key']
                 certfile = self.auth['cert']
 
+            # let host port take precedence
+            if ':' in host and '[' not in host or ']:' in host:
+                host, port = host.rsplit(':', 1)
+                if '[' in host:
+                    host = host[1:-1]
+
             return httpsconnection(host, port, keyfile, certfile, *args, **kwargs)
 
 # In python < 2.5 AbstractDigestAuthHandler raises a ValueError if