diff 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
line wrap: on
line diff
--- a/mercurial/util.py	Fri Aug 04 23:54:12 2017 -0700
+++ b/mercurial/util.py	Mon Aug 07 22:22:28 2017 +0900
@@ -2905,8 +2905,7 @@
     Raises an error.Abort when the url is unsafe.
     """
     path = urlreq.unquote(path)
-    if (path.startswith('ssh://-') or path.startswith('svn+ssh://-')
-        or '|' in path):
+    if path.startswith('ssh://-') or path.startswith('svn+ssh://-'):
         raise error.Abort(_('potentially unsafe url: %r') %
                           (path,))