tailcfg: add FallbackResolvers to DNSConfig.

Signed-off-by: David Anderson <danderson@tailscale.com>
This commit is contained in:
David Anderson
2021-04-19 21:30:39 -07:00
committed by Dave Anderson
parent 3d0599fca0
commit 28ba20d733
2 changed files with 15 additions and 8 deletions

View File

@@ -198,6 +198,10 @@ func (src *DNSConfig) Clone() *DNSConfig {
dst.Routes[k] = append([]DNSResolver{}, src.Routes[k]...)
}
}
dst.FallbackResolvers = make([]DNSResolver, len(src.FallbackResolvers))
for i := range dst.FallbackResolvers {
dst.FallbackResolvers[i] = *src.FallbackResolvers[i].Clone()
}
dst.Domains = append(src.Domains[:0:0], src.Domains...)
dst.Nameservers = append(src.Nameservers[:0:0], src.Nameservers...)
return dst
@@ -206,12 +210,13 @@ func (src *DNSConfig) Clone() *DNSConfig {
// A compilation failure here means this code must be regenerated, with command:
// tailscale.com/cmd/cloner -type User,Node,Hostinfo,NetInfo,Login,DNSConfig,DNSResolver,RegisterResponse
var _DNSConfigNeedsRegeneration = DNSConfig(struct {
Resolvers []DNSResolver
Routes map[string][]DNSResolver
Domains []string
Proxied bool
Nameservers []netaddr.IP
PerDomain bool
Resolvers []DNSResolver
Routes map[string][]DNSResolver
FallbackResolvers []DNSResolver
Domains []string
Proxied bool
Nameservers []netaddr.IP
PerDomain bool
}{})
// Clone makes a deep copy of DNSResolver.