From 6c951c5a5ea012f029f8a3aed9e3c9e3f81ac61e Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Sun, 1 Apr 2018 23:15:27 +0200 Subject: recipetool: create: fix port number parsing issue A flaw was found when I run: $ recipetool create "ssh://git@xxx.xxx:7999/xxx.git" the url turned out to be: "git://git@xxx.xxx/7999/xxx.git;protocol=ssh" after parsing, the port number was parsed as part of the path, this is definitely wrong and lead to fetching failures. This issue could be fixed in reformat_git_uri, by filtering out port numbers when formatting ":". (From OE-Core rev: 4290e04b69360b5e1da9f37166015e30f66cb335) Signed-off-by: Ming Liu Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'scripts') diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 2fc9e0aa4e..a3710285bb 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -383,8 +383,10 @@ def reformat_git_uri(uri): # which causes decodeurl to fail getting the right host and path if len(host.split(':')) > 1: splitslash = host.split(':') - host = splitslash[0] - path = '/' + splitslash[1] + path + # Port number should not be split from host + if not re.match('^[0-9]+$', splitslash[1]): + host = splitslash[0] + path = '/' + splitslash[1] + path #Algorithm: # if user is defined, append protocol=ssh or if a protocol is defined, then honor the user-defined protocol # if no user & password is defined, check for scheme type and append the protocol with the scheme type -- cgit v1.2.3-54-g00ecf