summaryrefslogtreecommitdiff
path: root/distribution/errors.go
diff options
context:
space:
mode:
authorAntonio Murdaca <runcom@redhat.com>2016-03-12 18:01:01 +0100
committerAntonio Murdaca <runcom@redhat.com>2016-03-12 20:41:47 +0100
commit497d545093bce4f01455bf8d2e1658435dbb040b (patch)
tree9f1ae382064c57ec5fbe0574768fe787d8539d49 /distribution/errors.go
parentb7aae84b5fe0789a98228409174f1d4619ab2245 (diff)
downloaddocker-497d545093bce4f01455bf8d2e1658435dbb040b.tar.gz
distribution: errors: do not retry if no credentials provided
Fix and add test for case c) in #21054 Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Diffstat (limited to 'distribution/errors.go')
-rw-r--r--distribution/errors.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/distribution/errors.go b/distribution/errors.go
index 1cb34fdd51..1a2923a8cf 100644
--- a/distribution/errors.go
+++ b/distribution/errors.go
@@ -8,6 +8,7 @@ import (
"github.com/docker/distribution/registry/api/errcode"
"github.com/docker/distribution/registry/api/v2"
"github.com/docker/distribution/registry/client"
+ "github.com/docker/distribution/registry/client/auth"
"github.com/docker/docker/distribution/xfer"
)
@@ -90,6 +91,9 @@ func retryOnError(err error) error {
return xfer.DoNotRetry{Err: err}
}
case *url.Error:
+ if v.Err == auth.ErrNoBasicAuthCredentials {
+ return xfer.DoNotRetry{Err: v.Err}
+ }
return retryOnError(v.Err)
case *client.UnexpectedHTTPResponseError:
return xfer.DoNotRetry{Err: err}