wgengine: make dnsIPsOverTailscale also consider DefaultResolvers
Found during a failed experiment debugging something on Android. Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>pull/2247/head
parent
7b8ed1fc09
commit
c45bfd4180
|
@ -1392,7 +1392,7 @@ func ipInPrefixes(ip netaddr.IP, pp []netaddr.IPPrefix) bool {
|
||||||
func dnsIPsOverTailscale(dnsCfg *dns.Config, routerCfg *router.Config) (ret []netaddr.IPPrefix) {
|
func dnsIPsOverTailscale(dnsCfg *dns.Config, routerCfg *router.Config) (ret []netaddr.IPPrefix) {
|
||||||
m := map[netaddr.IP]bool{}
|
m := map[netaddr.IP]bool{}
|
||||||
|
|
||||||
for _, resolvers := range dnsCfg.Routes {
|
add := func(resolvers []netaddr.IPPort) {
|
||||||
for _, resolver := range resolvers {
|
for _, resolver := range resolvers {
|
||||||
ip := resolver.IP()
|
ip := resolver.IP()
|
||||||
if ipInPrefixes(ip, routerCfg.Routes) && !ipInPrefixes(ip, routerCfg.LocalRoutes) {
|
if ipInPrefixes(ip, routerCfg.Routes) && !ipInPrefixes(ip, routerCfg.LocalRoutes) {
|
||||||
|
@ -1401,6 +1401,11 @@ func dnsIPsOverTailscale(dnsCfg *dns.Config, routerCfg *router.Config) (ret []ne
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
add(dnsCfg.DefaultResolvers)
|
||||||
|
for _, resolvers := range dnsCfg.Routes {
|
||||||
|
add(resolvers)
|
||||||
|
}
|
||||||
|
|
||||||
ret = make([]netaddr.IPPrefix, 0, len(m))
|
ret = make([]netaddr.IPPrefix, 0, len(m))
|
||||||
for ip := range m {
|
for ip := range m {
|
||||||
ret = append(ret, netaddr.IPPrefixFrom(ip, ip.BitLen()))
|
ret = append(ret, netaddr.IPPrefixFrom(ip, ip.BitLen()))
|
||||||
|
|
Loading…
Reference in New Issue