From f8b213cbea74b5a278febe7d32de658347cf6d95 Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes Date: Sun, 24 Sep 2017 17:36:59 -0300 Subject: [PATCH] Validate external names --- core/pkg/ingress/controller/controller.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/pkg/ingress/controller/controller.go b/core/pkg/ingress/controller/controller.go index 03f4c92a9..818d3e8bd 100644 --- a/core/pkg/ingress/controller/controller.go +++ b/core/pkg/ingress/controller/controller.go @@ -19,6 +19,7 @@ package controller import ( "fmt" "math/rand" + "net" "reflect" "sort" "strconv" @@ -1090,6 +1091,14 @@ func (ic *GenericController) getEndpoints( return upsServers } + if net.ParseIP(s.Spec.ExternalName) == nil { + _, err := net.LookupHost(s.Spec.ExternalName) + if err != nil { + glog.Errorf("unexpected error resolving host %v: %v", s.Spec.ExternalName, err) + return upsServers + } + } + return append(upsServers, ingress.Endpoint{ Address: s.Spec.ExternalName, Port: fmt.Sprintf("%v", targetPort),