tailscale/wgengine/tsdns
Josh Bleecher Snyder 6e8328cba5 wgengine/tsdns: replace connections when net link changes (macOS)
When the network link changes, existing UDP sockets fail immediately
and permanently on macOS.

The forwarder set up a single UDP conn and never changed it.
As a result, any time there was a network link change,
all forwarded DNS queries failed.

To fix this, create a new connection when send requests
fail because of network unreachability.

This change is darwin-only, although extended it to other platforms
should be straightforward.

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2020-09-24 15:31:27 -07:00
..
forwarder.go wgengine/tsdns: replace connections when net link changes (macOS) 2020-09-24 15:31:27 -07:00
map.go tailcfg, tsdns: derive root domains from list of nodes (#708) 2020-08-24 17:27:21 -04:00
map_test.go tailcfg, tsdns: derive root domains from list of nodes (#708) 2020-08-24 17:27:21 -04:00
neterr_darwin.go wgengine/tsdns: replace connections when net link changes (macOS) 2020-09-24 15:31:27 -07:00
neterr_other.go wgengine/tsdns: replace connections when net link changes (macOS) 2020-09-24 15:31:27 -07:00
tsdns.go wgengine/tsdns: delegate bonjour service rdns requests 2020-09-24 12:26:12 -07:00
tsdns_server_test.go tsdns: fix accidental rejection of all non-{A, AAAA} questions. 2020-08-27 00:42:56 -04:00
tsdns_test.go wgengine/tsdns: delegate bonjour service rdns requests 2020-09-24 12:26:12 -07:00