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)
master
Tomáš Hrčka 2014-11-25 12:45:20 +01:00 committed by Vincent Demeester
parent 8972795de7
commit 01245d2619
2 changed files with 2 additions and 1 deletions

View File

@ -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)

View File

@ -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 {