diff --git a/node/dns.go b/node/dns.go index 3aaeeff0f69f372d41f64c498ef6a0556bdfaf93..59b3edb2c3bdbd8bbb226d74fb36b375e7220763 100644 --- a/node/dns.go +++ b/node/dns.go @@ -19,9 +19,7 @@ const ( ) func newDNSHandler(n *Node, origin string, nameservers []string) dns.Handler { - if !strings.HasSuffix(origin, ".") { - origin += "." - } + origin = ensureFinalDot(origin) dnsz := newDNSZone(n.lb, origin, nameservers) mux := dns.NewServeMux() @@ -90,7 +88,7 @@ func (d *dnsZone) ServeDNS(w dns.ResponseWriter, req *dns.Msg) { Class: dns.ClassINET, Ttl: nsTTL, }, - Ns: ns, + Ns: ensureFinalDot(ns), }) } @@ -238,3 +236,11 @@ func runDNSServerWithContext(ctx context.Context, srv *dns.Server) error { }() return srv.ListenAndServe() } + +func ensureFinalDot(s string) string { + if !strings.HasSuffix(s, ".") { + return s + "." + } + return s +} +