diff options
author | Yong Tang <yong.tang.github@outlook.com> | 2016-04-22 20:00:47 -0700 |
---|---|---|
committer | Yong Tang <yong.tang.github@outlook.com> | 2016-04-22 20:00:47 -0700 |
commit | 93973196f4b4dafae5b94eb541a3b752ea48f66e (patch) | |
tree | 5dc422674af33ea8db2d3ba2a5a6338bd1a32748 /registry/service.go | |
parent | 8a0d2d8e57a4825fb21c0f8ef91bef513beebc35 (diff) | |
download | docker-93973196f4b4dafae5b94eb541a3b752ea48f66e.tar.gz |
Add default `serveraddress` value in remote API `/auth`
This fix tries to address the issue in #22244 where the remote
API `/auth` will not set the default value of `serveraddress`
if not provided. This behavior happens after only in 1.11.0
and is a regression as in 1.10.3 `serveraddress` will be assigned
with `IndexServer` if no value is provided.
The default value `IndexServer` is assigned to `serveraddress` if
no value provided in this fix.
An integration test `TestAuthApi` has been added to cover this change
This fix fixes #22244.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Diffstat (limited to 'registry/service.go')
-rw-r--r-- | registry/service.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/registry/service.go b/registry/service.go index c27f9b1c93..3006e8ab84 100644 --- a/registry/service.go +++ b/registry/service.go @@ -37,6 +37,9 @@ func (s *Service) ServiceConfig() *registrytypes.ServiceConfig { // It can be used to verify the validity of a client's credentials. func (s *Service) Auth(authConfig *types.AuthConfig, userAgent string) (status, token string, err error) { serverAddress := authConfig.ServerAddress + if serverAddress == "" { + serverAddress = IndexServer + } if !strings.HasPrefix(serverAddress, "https://") && !strings.HasPrefix(serverAddress, "http://") { serverAddress = "https://" + serverAddress } |