From 41f6c45376ac761e66ccc6b06c8dd94b96bb609d Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Tue, 2 Apr 2019 11:37:44 -0700 Subject: [PATCH] daemon: fix mirrors validation Signed-off-by: Tonis Tiigi (cherry picked from commit 1a0f04e08e2f23a12b8dd2deb7c10c7f4f7d8804) Signed-off-by: Sebastiaan van Stijn Upstream-commit: 5dab6096fb7fcfe94acd9145b24eda8640427bb5 Component: engine --- components/engine/daemon/daemon.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/components/engine/daemon/daemon.go b/components/engine/daemon/daemon.go index a307863017..b2c02a9712 100644 --- a/components/engine/daemon/daemon.go +++ b/components/engine/daemon/daemon.go @@ -11,6 +11,7 @@ import ( "io/ioutil" "math/rand" "net" + "net/url" "os" "path" "path/filepath" @@ -157,15 +158,18 @@ func (daemon *Daemon) NewResolveOptionsFunc() resolver.ResolveOptionsFunc { ) // must trim "https://" or "http://" prefix for i, v := range daemon.configStore.Mirrors { - v = strings.TrimPrefix(v, "https://") - v = strings.TrimPrefix(v, "http://") + if uri, err := url.Parse(v); err == nil { + v = uri.Host + } mirrors[i] = v } // set "registry-mirrors" m[registryKey] = resolver.RegistryConf{Mirrors: mirrors} // set "insecure-registries" for _, v := range daemon.configStore.InsecureRegistries { - v = strings.TrimPrefix(v, "http://") + if uri, err := url.Parse(v); err == nil { + v = uri.Host + } m[v] = resolver.RegistryConf{ PlainHTTP: true, }