Pārlūkot izejas kodu

daemon: fix mirrors validation

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 1a0f04e08e2f23a12b8dd2deb7c10c7f4f7d8804)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Tonis Tiigi 6 gadi atpakaļ
vecāks
revīzija
5dab6096fb
1 mainītis faili ar 7 papildinājumiem un 3 dzēšanām
  1. 7 3
      daemon/daemon.go

+ 7 - 3
daemon/daemon.go

@@ -11,6 +11,7 @@ import (
 	"io/ioutil"
 	"io/ioutil"
 	"math/rand"
 	"math/rand"
 	"net"
 	"net"
+	"net/url"
 	"os"
 	"os"
 	"path"
 	"path"
 	"path/filepath"
 	"path/filepath"
@@ -157,15 +158,18 @@ func (daemon *Daemon) NewResolveOptionsFunc() resolver.ResolveOptionsFunc {
 		)
 		)
 		// must trim "https://" or "http://" prefix
 		// must trim "https://" or "http://" prefix
 		for i, v := range daemon.configStore.Mirrors {
 		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
 			mirrors[i] = v
 		}
 		}
 		// set "registry-mirrors"
 		// set "registry-mirrors"
 		m[registryKey] = resolver.RegistryConf{Mirrors: mirrors}
 		m[registryKey] = resolver.RegistryConf{Mirrors: mirrors}
 		// set "insecure-registries"
 		// set "insecure-registries"
 		for _, v := range daemon.configStore.InsecureRegistries {
 		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{
 			m[v] = resolver.RegistryConf{
 				PlainHTTP: true,
 				PlainHTTP: true,
 			}
 			}