From df350e206916793e7118d7d942c6199c97e665d1 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Thu, 20 May 2021 20:22:21 -0700 Subject: [PATCH] ipn/ipnlocal: initialize DNS config maps unconditionally. Fixes #1963. Signed-off-by: David Anderson --- ipn/ipnlocal/local.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ipn/ipnlocal/local.go b/ipn/ipnlocal/local.go index c0a107a16..9b6c565ed 100644 --- a/ipn/ipnlocal/local.go +++ b/ipn/ipnlocal/local.go @@ -1694,7 +1694,10 @@ func (b *LocalBackend) authReconfig() { rcfg := b.routerConfig(cfg, uc) - var dcfg dns.Config + dcfg := dns.Config{ + Routes: map[dnsname.FQDN][]netaddr.IPPort{}, + Hosts: map[dnsname.FQDN][]netaddr.IP{}, + } // Populate MagicDNS records. We do this unconditionally so that // quad-100 can always respond to MagicDNS queries, even if the OS @@ -1725,7 +1728,6 @@ func (b *LocalBackend) authReconfig() { } dcfg.Hosts[fqdn] = ips } - dcfg.Hosts = map[dnsname.FQDN][]netaddr.IP{} set(nm.Name, nm.Addresses) for _, peer := range nm.Peers { set(peer.Name, peer.Addresses) @@ -1744,9 +1746,6 @@ func (b *LocalBackend) authReconfig() { } addDefault(nm.DNS.Resolvers) - if len(nm.DNS.Routes) > 0 { - dcfg.Routes = map[dnsname.FQDN][]netaddr.IPPort{} - } for suffix, resolvers := range nm.DNS.Routes { fqdn, err := dnsname.ToFQDN(suffix) if err != nil {