From eba4a8b87cb727105526b729452a9dbb711bfd7a Mon Sep 17 00:00:00 2001 From: Thomas Jackson Date: Sat, 9 Mar 2019 16:39:25 -0800 Subject: [PATCH] Correctly format ipv6 resolver config for lua Fixes #3881 --- internal/ingress/controller/template/template.go | 10 +++++++--- internal/ingress/controller/template/template_test.go | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/internal/ingress/controller/template/template.go b/internal/ingress/controller/template/template.go index f7b17af2b..cf586f08f 100644 --- a/internal/ingress/controller/template/template.go +++ b/internal/ingress/controller/template/template.go @@ -250,10 +250,14 @@ func buildResolversForLua(res interface{}, disableIpv6 interface{}) string { r := []string{} for _, ns := range nss { - if ing_net.IsIPV6(ns) && no6 { - continue + if ing_net.IsIPV6(ns) { + if no6 { + continue + } + r = append(r, fmt.Sprintf("\"[%v]\"", ns)) + } else { + r = append(r, fmt.Sprintf("\"%v\"", ns)) } - r = append(r, fmt.Sprintf("\"%v\"", ns)) } return strings.Join(r, ", ") diff --git a/internal/ingress/controller/template/template_test.go b/internal/ingress/controller/template/template_test.go index 3f8edbfa8..b09ccb6b6 100644 --- a/internal/ingress/controller/template/template_test.go +++ b/internal/ingress/controller/template/template_test.go @@ -516,7 +516,7 @@ func TestBuildResolversForLua(t *testing.T) { t.Errorf("Expected '%v' but returned '%v'", expected, actual) } - expected = "\"192.0.0.1\", \"2001:db8:1234::\"" + expected = "\"192.0.0.1\", \"[2001:db8:1234::]\"" actual = buildResolversForLua(ipList, false) if expected != actual {