mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-07 21:56:44 +00:00
Merge pull request #2459 from libgit2/cmn/http-url-path
netops: error out on url without a path
This commit is contained in:
commit
193fe9cbbf
@ -717,6 +717,9 @@ int gitno_extract_url_parts(
|
||||
if (u.field_set & (1 << UF_PATH)) {
|
||||
*path = git__substrdup(_path, u.field_data[UF_PATH].len);
|
||||
GITERR_CHECK_ALLOC(*path);
|
||||
} else {
|
||||
giterr_set(GITERR_NET, "invalid url, missing path");
|
||||
return GIT_EINVALIDSPEC;
|
||||
}
|
||||
|
||||
if (u.field_set & (1 << UF_USERINFO)) {
|
||||
|
@ -33,6 +33,24 @@ void test_network_urlparse__trivial(void)
|
||||
cl_assert_equal_p(pass, NULL);
|
||||
}
|
||||
|
||||
void test_network_urlparse__root(void)
|
||||
{
|
||||
cl_git_pass(gitno_extract_url_parts(&host, &port, &path, &user, &pass,
|
||||
"http://example.com/", "8080"));
|
||||
cl_assert_equal_s(host, "example.com");
|
||||
cl_assert_equal_s(port, "8080");
|
||||
cl_assert_equal_s(path, "/");
|
||||
cl_assert_equal_p(user, NULL);
|
||||
cl_assert_equal_p(pass, NULL);
|
||||
}
|
||||
|
||||
void test_network_urlparse__just_hostname(void)
|
||||
{
|
||||
cl_git_fail_with(GIT_EINVALIDSPEC,
|
||||
gitno_extract_url_parts(&host, &port, &path, &user, &pass,
|
||||
"http://example.com", "8080"));
|
||||
}
|
||||
|
||||
void test_network_urlparse__encoded_password(void)
|
||||
{
|
||||
cl_git_pass(gitno_extract_url_parts(&host, &port, &path, &user, &pass,
|
||||
|
Loading…
Reference in New Issue
Block a user