From 09702fc27c673066c87193879d2fdbc19ab9b33f Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Thu, 3 Sep 2020 22:43:38 +0300 Subject: Normalize host in repository URL --- libbpkg/manifest.cxx | 7 ++----- libbpkg/manifest.hxx | 4 ++-- 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'libbpkg') diff --git a/libbpkg/manifest.cxx b/libbpkg/manifest.cxx index 7514357..016e88c 100644 --- a/libbpkg/manifest.cxx +++ b/libbpkg/manifest.cxx @@ -3153,12 +3153,9 @@ namespace bpkg if (!authority || authority->host.empty ()) bad_url ("invalid host"); - // Normalize the host name. + // Normalize the host name/address. // - // @@ Also add IPv4/6 addresses normalization. - // - if (authority->host.kind == url_host_kind::name) - lcase (authority->host.value); + authority->host.normalize (); // We don't distinguish between the absent and empty paths for the // remote repository URLs. diff --git a/libbpkg/manifest.hxx b/libbpkg/manifest.hxx index dfb8762..b666716 100644 --- a/libbpkg/manifest.hxx +++ b/libbpkg/manifest.hxx @@ -1026,8 +1026,8 @@ namespace bpkg // non-empty object with non-empty path never contains the trailing slash // (except for the root path on POSIX system). // - // - For the remote URL object the host name is in the lower case (IPv4/6 are - // not supported) and the path is relative. + // - For the remote URL object the host component is normalized (see + // butl::basic_url_host for details) and the path is relative. // // - For the local URL object the path can be relative or absolute. Query // can not be present. Represent the object using the file:// notation if -- cgit v1.1