From b2f05c220721d5ef9a31fc259e3f6c2c057ab4ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hr=C4=8Dka?= Date: Tue, 25 Nov 2014 12:45:20 +0100 Subject: [PATCH] Restrict domain name to 255 characters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tomáš Hrčka Docker-DCO-1.1-Signed-off-by: Jessie Frazelle (github: jfrazelle) --- opts/opts.go | 2 +- opts/opts_test.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/opts/opts.go b/opts/opts.go index cd720c9a92..e867c0a21d 100644 --- a/opts/opts.go +++ b/opts/opts.go @@ -211,7 +211,7 @@ func validateDomain(val string) (string, error) { return "", fmt.Errorf("%s is not a valid domain", val) } ns := domainRegexp.FindSubmatch([]byte(val)) - if len(ns) > 0 { + if len(ns) > 0 && len(ns[1]) < 255 { return string(ns[1]), nil } return "", fmt.Errorf("%s is not a valid domain", val) diff --git a/opts/opts_test.go b/opts/opts_test.go index 631d4c6b60..8370926da5 100644 --- a/opts/opts_test.go +++ b/opts/opts_test.go @@ -105,6 +105,7 @@ func TestValidateDnsSearch(t *testing.T) { `foo.bar-.baz`, `foo.-bar`, `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 {