Fix duplicate search line entries on OpenBSD

Fix https://github.com/tailscale/tailscale/issues/12360

Signed-off-by: Greg Steuck <greg@nest.cx>
pull/18205/head
Greg Steuck 4 weeks ago
parent cb5fa35f57
commit b39cd8404b

@ -423,7 +423,14 @@ func (m *Manager) compileConfig(cfg Config) (rcfg resolver.Config, ocfg OSConfig
defaultRoutes = append(defaultRoutes, &dnstype.Resolver{Addr: ip.String()})
}
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

Loading…
Cancel
Save