From 4349b6fa63326681333c1adfa3ee32bfddf2d3c0 Mon Sep 17 00:00:00 2001 From: Chris O'Haver Date: Wed, 9 Feb 2022 13:52:53 -0500 Subject: [PATCH] dont panic on empty SRV segments (#5173) Signed-off-by: Chris O'Haver --- plugin/kubernetes/parse.go | 3 +++ plugin/kubernetes/parse_test.go | 2 ++ 2 files changed, 5 insertions(+) diff --git a/plugin/kubernetes/parse.go b/plugin/kubernetes/parse.go index adef4a024..1c072a649 100644 --- a/plugin/kubernetes/parse.go +++ b/plugin/kubernetes/parse.go @@ -82,6 +82,9 @@ func parseRequest(name, zone string) (r recordRequest, err error) { // stripUnderscore removes a prefixed underscore from s. func stripUnderscore(s string) string { + if len(s) == 0 { + return s + } if s[0] != '_' { return s } diff --git a/plugin/kubernetes/parse_test.go b/plugin/kubernetes/parse_test.go index 4b8000b02..739a405ff 100644 --- a/plugin/kubernetes/parse_test.go +++ b/plugin/kubernetes/parse_test.go @@ -23,6 +23,8 @@ func TestParseRequest(t *testing.T) { {"svc.inter.webs.tests.", "....."}, // bare pod type {"pod.inter.webs.tests.", "....."}, + // SRV request with empty segments + {"..webs.mynamespace.svc.inter.webs.tests.", "...webs.mynamespace.svc"}, } for i, tc := range tests { m := new(dns.Msg)