You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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>
3 years ago
..
resolver net/tsdial: move more weirdo dialing into new tsdial package, plumb 3 years ago
config.go net/dns: replace resolver IPs with type for DoH 3 years ago
debian_resolvconf.go all: gofmt with Go 1.17 3 years ago
direct.go net/dns: require space after nameserver/search parsing resolv.conf 3 years ago
direct_test.go net/dns: require space after nameserver/search parsing resolv.conf 3 years ago
flush_default.go wgengine: flush DNS cache after major link change. 3 years ago
flush_windows.go wgengine: flush DNS cache after major link change. 3 years ago
ini.go all: gofmt with Go 1.17 3 years ago
ini_test.go all: gofmt with Go 1.17 3 years ago
manager.go net/tsdial: move more weirdo dialing into new tsdial package, plumb 3 years ago
manager_default.go all: gofmt with Go 1.17 3 years ago
manager_freebsd.go net/dns: fall back to copy+delete/truncate if moving to/from /etc/resolv.conf fails. 3 years ago
manager_linux.go net/dns: correctly handle NetworkManager-managed DNS that points to resolved. 3 years ago
manager_linux_test.go net/dns: correctly handle NetworkManager-managed DNS that points to resolved. 3 years ago
manager_openbsd.go net/dns: fall back to copy+delete/truncate if moving to/from /etc/resolv.conf fails. 3 years ago
manager_test.go net/tsdial: move more weirdo dialing into new tsdial package, plumb 3 years ago
manager_windows.go net/dns: correct log message. 3 years ago
nm.go all: gofmt with Go 1.17 3 years ago
noop.go net/dns: return error from NewOSManager, use it to initialize NM. 3 years ago
openresolv.go all: gofmt with Go 1.17 3 years ago
osconfig.go net/dns: make debian_resolvconf correctly clear DNS configs. 3 years ago
registry_windows.go wgengine/router/dns: move to net/dns. 3 years ago
resolvconf-workaround.sh net/dns: also include 'tail' and 'base' files when fixing up resolv.conf. 3 years ago
resolvconf.go net/dns: exhaustively test DNS selection paths for linux. 3 years ago
resolved.go net/dns: make constants for the various DBus strings. 3 years ago
utf.go net/dns: detect and decode UTF-16 from wsl.exe earlier. 3 years ago
utf_test.go net/dns: detect and decode UTF-16 from wsl.exe earlier. 3 years ago
wsl_windows.go net/dns: fix checking for wrapped error when attempting to read wsl.conf for Windows WSL2 3 years ago