summaryrefslogtreecommitdiffhomepage
path: root/control/controlknobs/controlknobs.go
diff options
context:
space:
mode:
authorJonathan Nobels <jnobels@gmail.com>2024-06-12 15:45:13 -0400
committerGitHub <noreply@github.com>2024-06-12 15:45:13 -0400
commit02e3c046aa381262ec30742797f8f5efbd40aabd (patch)
tree4be393271f6cc910070279b65c23091a54883ead /control/controlknobs/controlknobs.go
parentd0f1a838a6bf1707ca270e347842f787031153e6 (diff)
downloadtailscale-02e3c046aa381262ec30742797f8f5efbd40aabd.tar.xz
tailscale-02e3c046aa381262ec30742797f8f5efbd40aabd.zip
net/dns: re-query system resolvers on no-upstream resolver failure on apple platforms (#12398)
Fixes tailscale/corp#20677 On macOS sleep/wake, we're encountering a condition where reconfigure the network a little bit too quickly - before apple has set the nameservers for our interface. This results in a persistent condition where we have no upstream resolver and fail all forwarded DNS queries. No upstream nameservers is a legitimate configuration, and we have no (good) way of determining when Apple is ready - but if we need to forward a query, and we have no nameservers, then something has gone badly wrong and the network is very broken. A simple fix here is to simply inject a netMon event, which will go through the configuration dance again when we hit the SERVFAIL condition. Tested by artificially/randomly returning [] for the list of nameservers in the bespoke ipn-bridge code responsible for getting the nameservers. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
Diffstat (limited to 'control/controlknobs/controlknobs.go')
0 files changed, 0 insertions, 0 deletions