From c5eb7d04601ebbd9400274cb77eaabf431fd7d49 Mon Sep 17 00:00:00 2001 From: Chris O'Haver Date: Thu, 10 Feb 2022 08:59:34 -0500 Subject: dont panic when from-zone cannot be normalized (#5171) Signed-off-by: Chris O'Haver --- plugin/grpc/setup.go | 6 +++++- plugin/grpc/setup_test.go | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/plugin/grpc/setup.go b/plugin/grpc/setup.go index 44527ca5b..1325438f6 100644 --- a/plugin/grpc/setup.go +++ b/plugin/grpc/setup.go @@ -56,7 +56,11 @@ func parseStanza(c *caddy.Controller) (*GRPC, error) { if !c.Args(&g.from) { return g, c.ArgErr() } - g.from = plugin.Host(g.from).NormalizeExact()[0] // only the first is used. + normalized := plugin.Host(g.from).NormalizeExact() + if len(normalized) == 0 { + return g, fmt.Errorf("unable to normalize '%s'", g.from) + } + g.from = normalized[0] // only the first is used. to := c.RemainingArgs() if len(to) == 0 { diff --git a/plugin/grpc/setup_test.go b/plugin/grpc/setup_test.go index 9f571a598..1d9e93b7f 100644 --- a/plugin/grpc/setup_test.go +++ b/plugin/grpc/setup_test.go @@ -30,6 +30,7 @@ func TestSetup(t *testing.T) { {"grpc . 127.0.0.1 {\nblaatl\n}\n", true, "", nil, "unknown property"}, {`grpc . ::1 grpc com ::2`, true, "", nil, "plugin"}, + {"grpc xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 127.0.0.1", true, "", nil, "unable to normalize 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'"}, } for i, test := range tests { -- cgit v1.2.3