diff --git a/docs/config.go b/docs/config.go index b49bd9105..e8f2287ef 100644 --- a/docs/config.go +++ b/docs/config.go @@ -8,7 +8,7 @@ import ( "net/url" "strings" - "github.com/docker/distribution/registry/api/v2" + "github.com/docker/distribution/reference" "github.com/docker/docker/image" "github.com/docker/docker/opts" flag "github.com/docker/docker/pkg/mflag" @@ -226,7 +226,8 @@ func validateRemoteName(remoteName string) error { } } - return v2.ValidateRepositoryName(remoteName) + _, err := reference.WithName(remoteName) + return err } func validateNoSchema(reposName string) error { diff --git a/docs/registry.go b/docs/registry.go index 389bd959d..02f189212 100644 --- a/docs/registry.go +++ b/docs/registry.go @@ -190,7 +190,7 @@ func addRequiredHeadersToRedirectedRequests(req *http.Request, via []*http.Reque func shouldV2Fallback(err errcode.Error) bool { logrus.Debugf("v2 error: %T %v", err, err) switch err.Code { - case v2.ErrorCodeUnauthorized, v2.ErrorCodeManifestUnknown: + case errcode.ErrorCodeUnauthorized, v2.ErrorCodeManifestUnknown: return true } return false diff --git a/docs/registry_test.go b/docs/registry_test.go index 5b36210a6..7714310d9 100644 --- a/docs/registry_test.go +++ b/docs/registry_test.go @@ -776,6 +776,9 @@ func TestValidRemoteName(t *testing.T) { // single character names are now allowed. "d/docker", "jess/t", + + // Consecutive underscores. + "dock__er/docker", } for _, repositoryName := range validRepositoryNames { if err := validateRemoteName(repositoryName); err != nil { @@ -803,8 +806,7 @@ func TestValidRemoteName(t *testing.T) { "_docker/_docker", - // Disallow consecutive underscores and periods. - "dock__er/docker", + // Disallow consecutive periods. "dock..er/docker", "dock_.er/docker", "dock-.er/docker",