瀏覽代碼

Merge pull request #8358 from docker/6969-reponame-rest-api

Added validity checks for repo name and tag in build job
Victor Vieux 11 年之前
父節點
當前提交
34f4144b7f
共有 1 個文件被更改,包括 12 次插入0 次删除
  1. 12 0
      builder/job.go

+ 12 - 0
builder/job.go

@@ -9,6 +9,7 @@ import (
 
 	"github.com/docker/docker/daemon"
 	"github.com/docker/docker/engine"
+	"github.com/docker/docker/graph"
 	"github.com/docker/docker/pkg/archive"
 	"github.com/docker/docker/pkg/parsers"
 	"github.com/docker/docker/registry"
@@ -42,7 +43,18 @@ func (b *BuilderJob) CmdBuild(job *engine.Job) engine.Status {
 	)
 	job.GetenvJson("authConfig", authConfig)
 	job.GetenvJson("configFile", configFile)
+
 	repoName, tag = parsers.ParseRepositoryTag(repoName)
+	if repoName != "" {
+		if _, _, err := registry.ResolveRepositoryName(repoName); err != nil {
+			return job.Error(err)
+		}
+		if len(tag) > 0 {
+			if err := graph.ValidateTagName(tag); err != nil {
+				return job.Error(err)
+			}
+		}
+	}
 
 	if remoteURL == "" {
 		context = ioutil.NopCloser(job.Stdin)