comparison mercurial/util.py @ 33658:3fee7f7d2da0 stable 4.3.1

ssh: unban the use of pipe character in user@host:port string This vulnerability was fixed by the previous patch and there were more ways to exploit than using '|shellcmd'. So it doesn't make sense to reject only pipe character. Test cases are updated to actually try to exploit the bug. As the SSH bridge of git/svn subrepos are not managed by our code, the tests for non-hg subrepos are just removed. This may be folded into the original patches.
author Yuya Nishihara <yuya@tcha.org>
date Mon, 07 Aug 2017 22:22:28 +0900
parents 60ee7af2a2ba
children 02a745c20121
comparison
equal deleted inserted replaced
33657:8cb9e921ef8c 33658:3fee7f7d2da0
2903 user. 2903 user.
2904 2904
2905 Raises an error.Abort when the url is unsafe. 2905 Raises an error.Abort when the url is unsafe.
2906 """ 2906 """
2907 path = urlreq.unquote(path) 2907 path = urlreq.unquote(path)
2908 if (path.startswith('ssh://-') or path.startswith('svn+ssh://-') 2908 if path.startswith('ssh://-') or path.startswith('svn+ssh://-'):
2909 or '|' in path):
2910 raise error.Abort(_('potentially unsafe url: %r') % 2909 raise error.Abort(_('potentially unsafe url: %r') %
2911 (path,)) 2910 (path,))
2912 2911
2913 def hidepassword(u): 2912 def hidepassword(u):
2914 '''hide user credential in a url string''' 2913 '''hide user credential in a url string'''