net/dns: [win] respond with SERVFAIL queries when no resolvers

Currently we forward unmatched queries to the default resolver on
Windows. This results in duplicate queries being issued to the same
resolver which is just wasted.

Updates #1659

Signed-off-by: Maisem Ali <maisem@tailscale.com>
This commit is contained in:
Maisem Ali 2022-08-12 12:47:25 -07:00 committed by Maisem Ali
parent 548fa63e49
commit 1cff719015

View File

@ -214,12 +214,11 @@ func (m *Manager) compileConfig(cfg Config) (rcfg resolver.Config, ocfg OSConfig
rcfg.Routes = routes
ocfg.Nameservers = []netip.Addr{cfg.serviceIP()}
// If the OS can't do native split-dns, read out the underlying
// resolver config and blend it into our config.
if m.os.SupportsSplitDNS() {
ocfg.MatchDomains = cfg.matchDomains()
}
if !m.os.SupportsSplitDNS() || isWindows {
} else {
// If the OS can't do native split-dns, read out the underlying
// resolver config and blend it into our config.
bcfg, err := m.os.GetBaseConfig()
if err != nil {
health.SetDNSOSHealth(err)