Merge branch 'master' into bump_v1.0.0
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)master
						commit
						128cc498c6
					
				|  | @ -766,7 +766,7 @@ func trustedLocation(req *http.Request) bool { | |||
| 	} | ||||
| 
 | ||||
| 	for _, trusted := range trusteds { | ||||
| 		if strings.HasSuffix(hostname, trusted) { | ||||
| 		if hostname == trusted || strings.HasSuffix(hostname, "."+trusted) { | ||||
| 			return true | ||||
| 		} | ||||
| 	} | ||||
|  | @ -790,22 +790,21 @@ func AddRequiredHeadersToRedirectedRequests(req *http.Request, via []*http.Reque | |||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func NewRegistry(authConfig *AuthConfig, factory *utils.HTTPRequestFactory, indexEndpoint string) (r *Registry, err error) { | ||||
| 	httpDial := func(proto string, addr string) (net.Conn, error) { | ||||
| 		conn, err := net.Dial(proto, addr) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 		conn = utils.NewTimeoutConn(conn, time.Duration(1)*time.Minute) | ||||
| 		return conn, nil | ||||
| 	} | ||||
| 
 | ||||
| func NewRegistry(authConfig *AuthConfig, factory *utils.HTTPRequestFactory, indexEndpoint string, timeout bool) (r *Registry, err error) { | ||||
| 	httpTransport := &http.Transport{ | ||||
| 		Dial:              httpDial, | ||||
| 		DisableKeepAlives: true, | ||||
| 		Proxy:             http.ProxyFromEnvironment, | ||||
| 	} | ||||
| 
 | ||||
| 	if timeout { | ||||
| 		httpTransport.Dial = func(proto string, addr string) (net.Conn, error) { | ||||
| 			conn, err := net.Dial(proto, addr) | ||||
| 			if err != nil { | ||||
| 				return nil, err | ||||
| 			} | ||||
| 			conn = utils.NewTimeoutConn(conn, time.Duration(1)*time.Minute) | ||||
| 			return conn, nil | ||||
| 		} | ||||
| 	} | ||||
| 	r = &Registry{ | ||||
| 		authConfig: authConfig, | ||||
| 		client: &http.Client{ | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ var ( | |||
| 
 | ||||
| func spawnTestRegistry(t *testing.T) *Registry { | ||||
| 	authConfig := &AuthConfig{} | ||||
| 	r, err := NewRegistry(authConfig, utils.NewHTTPRequestFactory(), makeURL("/v1/")) | ||||
| 	r, err := NewRegistry(authConfig, utils.NewHTTPRequestFactory(), makeURL("/v1/"), true) | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
|  | @ -235,7 +235,7 @@ func TestValidRepositoryName(t *testing.T) { | |||
| } | ||||
| 
 | ||||
| func TestTrustedLocation(t *testing.T) { | ||||
| 	for _, url := range []string{"http://example.com", "https://example.com:7777", "http://docker.io", "http://test.docker.io"} { | ||||
| 	for _, url := range []string{"http://example.com", "https://example.com:7777", "http://docker.io", "http://test.docker.io", "https://fakedocker.com"} { | ||||
| 		req, _ := http.NewRequest("GET", url, nil) | ||||
| 		if trustedLocation(req) == true { | ||||
| 			t.Fatalf("'%s' shouldn't be detected as a trusted location", url) | ||||
|  |  | |||
|  | @ -82,7 +82,7 @@ func (s *Service) Search(job *engine.Job) engine.Status { | |||
| 	job.GetenvJson("authConfig", authConfig) | ||||
| 	job.GetenvJson("metaHeaders", metaHeaders) | ||||
| 
 | ||||
| 	r, err := NewRegistry(authConfig, HTTPRequestFactory(metaHeaders), IndexServerAddress()) | ||||
| 	r, err := NewRegistry(authConfig, HTTPRequestFactory(metaHeaders), IndexServerAddress(), true) | ||||
| 	if err != nil { | ||||
| 		return job.Error(err) | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue