From e35a09bd72f8999e6e55282aeee22dd285b7b086 Mon Sep 17 00:00:00 2001 From: Louis Taylor Date: Thu, 5 Jul 2018 14:42:38 +0100 Subject: [PATCH] Add validation --- cmd/controller/app/options/options.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmd/controller/app/options/options.go b/cmd/controller/app/options/options.go index 25933de82..bd70aec43 100644 --- a/cmd/controller/app/options/options.go +++ b/cmd/controller/app/options/options.go @@ -2,6 +2,7 @@ package options import ( "fmt" + "net" "time" "github.com/spf13/pflag" @@ -136,5 +137,17 @@ func (o *ControllerOptions) Validate() error { default: return fmt.Errorf("invalid default issuer kind: %v", o.DefaultIssuerKind) } + + for _, server := range o.DNS01Nameservers { + // ensure all servers have a port number + host, _, err := net.SplitHostPort(server) + if err != nil { + return fmt.Errorf("invalid DNS server (%v): %v", err, server) + } + ip := net.ParseIP(host) + if ip == nil { + return fmt.Errorf("invalid IP address: %v", host) + } + } return nil }