net/dns: fix duplicate search line entries (OpenBSD, primarily)
Fixes #12360 Signed-off-by: Greg Steuck <greg@nest.cx>
This commit is contained in:
+8
-1
@@ -431,7 +431,14 @@ func (m *Manager) compileConfig(cfg Config) (rcfg resolver.Config, ocfg OSConfig
|
|||||||
defaultRoutes = append(defaultRoutes, &dnstype.Resolver{Addr: ip.String()})
|
defaultRoutes = append(defaultRoutes, &dnstype.Resolver{Addr: ip.String()})
|
||||||
}
|
}
|
||||||
rcfg.Routes["."] = defaultRoutes
|
rcfg.Routes["."] = defaultRoutes
|
||||||
ocfg.SearchDomains = append(ocfg.SearchDomains, baseCfg.SearchDomains...)
|
// Append base config search domains, but only if not already present.
|
||||||
|
// This prevents duplicates when GetBaseConfig() reads back domains that
|
||||||
|
// Tailscale itself previously wrote to resolv.conf.
|
||||||
|
for _, domain := range baseCfg.SearchDomains {
|
||||||
|
if !slices.Contains(ocfg.SearchDomains, domain) {
|
||||||
|
ocfg.SearchDomains = append(ocfg.SearchDomains, domain)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return rcfg, ocfg, nil
|
return rcfg, ocfg, nil
|
||||||
|
|||||||
Reference in New Issue
Block a user