aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/kubernetes/parse.go3
-rw-r--r--plugin/kubernetes/parse_test.go2
2 files changed, 5 insertions, 0 deletions
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)