tailscale/net/dns
Brad Fitzpatrick c37af58ea4 net/tsdial: move more weirdo dialing into new tsdial package, plumb
Not done yet, but this move more of the outbound dial special casing
from random packages into tsdial, which aspires to be the one unified
place for all outbound dialing shenanigans.

Then this plumbs it all around, so everybody is ultimately
holding on to the same dialer.

As of this commit, macOS/iOS using an exit node should be able to
reach to the exit node's DoH DNS proxy over peerapi, doing the sockopt
to stay within the Network Extension.

A number of steps remain, including but limited to:

* move a bunch more random dialing stuff

* make netstack-mode tailscaled be able to use exit node's DNS proxy,
  teaching tsdial's resolver to use it when an exit node is in use.

Updates #1713

Change-Id: I1e8ee378f125421c2b816f47bc2c6d913ddcd2f5
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-12-01 10:36:55 -08:00
..
resolver net/tsdial: move more weirdo dialing into new tsdial package, plumb 2021-12-01 10:36:55 -08:00
config.go net/dns: replace resolver IPs with type for DoH 2021-09-07 14:44:26 -07:00
debian_resolvconf.go all: gofmt with Go 1.17 2021-08-05 15:54:00 -07:00
direct_test.go net/dns: require space after nameserver/search parsing resolv.conf 2021-11-23 15:11:46 -08:00
direct.go net/dns: require space after nameserver/search parsing resolv.conf 2021-11-23 15:11:46 -08:00
flush_default.go wgengine: flush DNS cache after major link change. 2021-09-19 22:58:53 -07:00
flush_windows.go wgengine: flush DNS cache after major link change. 2021-09-19 22:58:53 -07:00
ini_test.go all: gofmt with Go 1.17 2021-08-05 15:54:00 -07:00
ini.go all: gofmt with Go 1.17 2021-08-05 15:54:00 -07:00
manager_default.go all: gofmt with Go 1.17 2021-08-05 15:54:00 -07:00
manager_freebsd.go net/dns: fall back to copy+delete/truncate if moving to/from /etc/resolv.conf fails. 2021-10-26 09:03:37 -07:00
manager_linux_test.go net/dns: correctly handle NetworkManager-managed DNS that points to resolved. 2021-11-15 12:21:25 -08:00
manager_linux.go net/dns: correctly handle NetworkManager-managed DNS that points to resolved. 2021-11-15 12:21:25 -08:00
manager_openbsd.go net/dns: fall back to copy+delete/truncate if moving to/from /etc/resolv.conf fails. 2021-10-26 09:03:37 -07:00
manager_test.go net/tsdial: move more weirdo dialing into new tsdial package, plumb 2021-12-01 10:36:55 -08:00
manager_windows.go net/dns: correct log message. 2021-08-03 13:58:29 -07:00
manager.go net/tsdial: move more weirdo dialing into new tsdial package, plumb 2021-12-01 10:36:55 -08:00
nm.go all: gofmt with Go 1.17 2021-08-05 15:54:00 -07:00
noop.go net/dns: return error from NewOSManager, use it to initialize NM. 2021-04-12 15:51:37 -07:00
openresolv.go all: gofmt with Go 1.17 2021-08-05 15:54:00 -07:00
osconfig.go net/dns: make debian_resolvconf correctly clear DNS configs. 2021-04-20 15:51:14 -07:00
registry_windows.go wgengine/router/dns: move to net/dns. 2021-03-25 16:25:30 -07:00
resolvconf-workaround.sh net/dns: also include 'tail' and 'base' files when fixing up resolv.conf. 2021-04-10 23:01:11 -07:00
resolvconf.go net/dns: exhaustively test DNS selection paths for linux. 2021-09-04 23:40:48 -07:00
resolved.go net/dns: make constants for the various DBus strings. 2021-11-19 11:09:32 -08:00
utf_test.go net/dns: detect and decode UTF-16 from wsl.exe earlier. 2021-11-30 13:10:18 -08:00
utf.go net/dns: detect and decode UTF-16 from wsl.exe earlier. 2021-11-30 13:10:18 -08:00
wsl_windows.go net/dns: fix checking for wrapped error when attempting to read wsl.conf for Windows WSL2 2021-11-30 15:36:39 -07:00