headscale/hscontrol/mapper
Kristoffer Dalby a345a22a3b mapper, app: ship MagicDNS Routes as empty slices, not nil
policyChangeResponse already includes everything else; carry DNSConfig
too so the client's netmap DNS is anchored on every policy change
rather than relying on the previous snapshot.

Send the MagicDNS root domains as empty non-nil Resolver slices instead
of nil values. tailcfg.DNSConfig.Clone and net/dns.Config.Clone in
tailscale drop map entries whose value is nil (tailcfg_clone.go and
dns_clone.go both contain `if sv == nil { continue }`). On a major
LinkChange the client's wgengine handler clones lastDNSConfig and
re-applies it; with nil values the cloned config has Routes:{}, dns.Set
wipes Nameservers in /etc/resolv.conf, and curl-by-FQDN fails until
the next route-changing netmap, typically about six minutes later.
Empty slice survives Clone and carries the same "resolve locally"
semantics for Routes entries.
2026-05-18 17:18:08 +02:00
..
batcher.go mapper: fix phantom updateSentPeers on disconnected nodes 2026-04-10 13:18:56 +01:00
batcher_bench_test.go hscontrol/types: silence zerolog by default in tests 2026-04-17 16:31:49 +01:00
batcher_concurrency_test.go hscontrol/types: silence zerolog by default in tests 2026-04-17 16:31:49 +01:00
batcher_scale_bench_test.go hscontrol/types: silence zerolog by default in tests 2026-04-17 16:31:49 +01:00
batcher_test.go hscontrol/types: silence zerolog by default in tests 2026-04-17 16:31:49 +01:00
batcher_unit_test.go mapper: fix phantom updateSentPeers on disconnected nodes 2026-04-10 13:18:56 +01:00
builder.go types/node, mapper: strip own IPv4 from emission when node has disable-ipv4 cap 2026-05-13 14:22:30 +02:00
builder_test.go all: fix golangci-lint issues (#3064) 2026-02-06 21:45:32 +01:00
mapper.go mapper, app: ship MagicDNS Routes as empty slices, not nil 2026-05-18 17:18:08 +02:00
mapper_test.go mapper, state: deliver nodeAttrs through MapResponse and harden nextdns DoH rewrite 2026-05-13 14:22:30 +02:00
node_conn.go mapper: fix phantom updateSentPeers on disconnected nodes 2026-04-10 13:18:56 +01:00
tail_test.go types/node, mapper: strip own IPv4 from emission when node has disable-ipv4 cap 2026-05-13 14:22:30 +02:00