Procházet zdrojové kódy

Restrict domain name to 255 characters

Signed-off-by: Tomáš Hrčka <thrcka@redhat.com>

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)
Tomáš Hrčka před 10 roky
rodič
revize
b2f05c2207
2 změnil soubory, kde provedl 2 přidání a 1 odebrání
  1. 1 1
      opts/opts.go
  2. 1 0
      opts/opts_test.go

+ 1 - 1
opts/opts.go

@@ -211,7 +211,7 @@ func validateDomain(val string) (string, error) {
 		return "", fmt.Errorf("%s is not a valid domain", val)
 		return "", fmt.Errorf("%s is not a valid domain", val)
 	}
 	}
 	ns := domainRegexp.FindSubmatch([]byte(val))
 	ns := domainRegexp.FindSubmatch([]byte(val))
-	if len(ns) > 0 {
+	if len(ns) > 0 && len(ns[1]) < 255 {
 		return string(ns[1]), nil
 		return string(ns[1]), nil
 	}
 	}
 	return "", fmt.Errorf("%s is not a valid domain", val)
 	return "", fmt.Errorf("%s is not a valid domain", val)

+ 1 - 0
opts/opts_test.go

@@ -105,6 +105,7 @@ func TestValidateDnsSearch(t *testing.T) {
 		`foo.bar-.baz`,
 		`foo.bar-.baz`,
 		`foo.-bar`,
 		`foo.-bar`,
 		`foo.-bar.baz`,
 		`foo.-bar.baz`,
+		`foo.bar.baz.this.should.fail.on.long.name.beause.it.is.longer.thanisshouldbethis.should.fail.on.long.name.beause.it.is.longer.thanisshouldbethis.should.fail.on.long.name.beause.it.is.longer.thanisshouldbethis.should.fail.on.long.name.beause.it.is.longer.thanisshouldbe`,
 	}
 	}
 
 
 	for _, domain := range valid {
 	for _, domain := range valid {