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 <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ming Liu 2018-04-01 23:15:27 +02:00 committed by Richard Purdie
parent 73a6e7dd02
commit 6c951c5a5e

View File

@ -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