Merge pull request #10471 from jlhawn/token_auth_header

Fix token basic auth header issue
Upstream-commit: 08b2f5b9415f566f5f80c3ff26ff35ed21035541
Component: engine
This commit is contained in:
Tibor Vass
2015-01-31 19:51:50 -05:00
3 changed files with 9 additions and 2 deletions

View File

@ -387,6 +387,9 @@ func (s *TagStore) pullV2Repository(eng *engine.Engine, r *registry.Session, out
if err != nil {
return err
}
if len(tags) == 0 {
return registry.ErrDoesNotExist
}
for _, t := range tags {
if downloaded, err := s.pullV2Tag(eng, r, out, endpoint, repoInfo, t, sf, parallel, auth); err != nil {
return err

View File

@ -128,6 +128,8 @@ func (r *Session) HeadV2ImageBlob(ep *Endpoint, imageName, sumType, sum string,
case res.StatusCode >= 200 && res.StatusCode < 400:
// return something indicating no push needed
return true, nil
case res.StatusCode == 401:
return false, errLoginRequired
case res.StatusCode == 404:
// return something indicating blob push needed
return false, nil

View File

@ -51,10 +51,12 @@ func getToken(username, password string, params map[string]string, registryEndpo
reqParams.Add("scope", scopeField)
}
reqParams.Add("account", username)
if username != "" {
reqParams.Add("account", username)
req.SetBasicAuth(username, password)
}
req.URL.RawQuery = reqParams.Encode()
req.SetBasicAuth(username, password)
resp, err := client.Do(req)
if err != nil {