debugssl: convert port number to int (
issue5757)
It doesn't use util.getport(), which may resolve service name to port number.
--- a/mercurial/debugcommands.py Tue Dec 12 18:22:11 2017 +0100
+++ b/mercurial/debugcommands.py Thu Dec 14 22:07:46 2017 +0900
@@ -2086,10 +2086,12 @@
url = util.url(source)
addr = None
- if url.scheme == 'https':
- addr = (url.host, url.port or 443)
- elif url.scheme == 'ssh':
- addr = (url.host, url.port or 22)
+ defaultport = {'https': 443, 'ssh': 22}
+ if url.scheme in defaultport:
+ try:
+ addr = (url.host, int(url.port or defaultport[url.scheme]))
+ except ValueError:
+ raise error.Abort(_("malformed port number in URL"))
else:
raise error.Abort(_("only https and ssh connections are supported"))