tailcfg: add DNSConfig.ExtraRecords

Updates #1748
Updates #1235
Updates #2055

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2021-06-16 10:58:25 -07:00
committed by Brad Fitzpatrick
parent e0f0d10672
commit 0debb99f08
3 changed files with 45 additions and 1 deletions

View File

@@ -1750,6 +1750,25 @@ func (b *LocalBackend) authReconfig() {
for _, peer := range nm.Peers {
set(peer.Name, peer.Addresses)
}
for _, rec := range nm.DNS.ExtraRecords {
switch rec.Type {
case "", "A", "AAAA":
// Treat these all the same for now: infer from the value
default:
// TODO: more
continue
}
ip, err := netaddr.ParseIP(rec.Value)
if err != nil {
// Ignore.
continue
}
fqdn, err := dnsname.ToFQDN(rec.Name)
if err != nil {
continue
}
dcfg.Hosts[fqdn] = append(dcfg.Hosts[fqdn], ip)
}
if uc.CorpDNS {
addDefault := func(resolvers []tailcfg.DNSResolver) {