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
Aaron Klotz d818a58a77 net/dns: ensure the Windows configurator does not touch the hosts file unless the configuration actually changed
We build up maps of both the existing MagicDNS configuration in hosts
and the desired MagicDNS configuration, compare the two, and only
write out a new one if there are changes. The comparison doesn't need
to be perfect, as the occasional false-positive is fine, but this
should greatly reduce rewrites of the hosts file.

I also changed the hosts updating code to remove the CRLF/LF conversion
stuff, and use Fprintf instead of Frintln to let us write those inline.

Updates #14428

Signed-off-by: Aaron Klotz <aaron@tailscale.com>
1 year ago
..
publicdns net/dns/publicdns: remove additional information in DOH URL passed to IPv6 address generation for controlD. 2 years ago
recursive all: use Go 1.22 range-over-int 2 years ago
resolvconffile clientupdate, net/dns: fix some "tailsacle" typos 2 years ago
resolver all: illumos/solaris userspace only support 1 year ago
config.go all: add test for package comments, fix, add comments as needed 2 years ago
debian_resolvconf.go
direct.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 2 years ago
direct_linux.go net/dns: updated gonotify dependency to v2 that supports closable context 1 year ago
direct_notlinux.go
direct_test.go clientupdate, net/dns: fix some "tailsacle" typos 2 years ago
direct_unix_test.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 2 years ago
flush_default.go
flush_windows.go cmd/tailscaled, net/dns, wgengine/router: start Windows child processes with DETACHED_PROCESS when I/O is being piped 2 years ago
ini.go
ini_test.go
manager.go util/slicesx: add MapKeys and MapValues from golang.org/x/exp/maps 1 year ago
manager_darwin.go net/dns: support GetBaseConfig on Darwin OSS tailscaled (#13351) 1 year ago
manager_default.go all: illumos/solaris userspace only support 1 year ago
manager_freebsd.go various: create a catch-all NRPT rule when "Override local DNS" is enabled on Windows 2 years ago
manager_linux.go various: create a catch-all NRPT rule when "Override local DNS" is enabled on Windows 2 years ago
manager_linux_test.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 2 years ago
manager_openbsd.go various: create a catch-all NRPT rule when "Override local DNS" is enabled on Windows 2 years ago
manager_solaris.go all: illumos/solaris userspace only support 1 year ago
manager_tcp_test.go net/dns, health: raise health warning for failing forwarded DNS queries (#12888) 1 year ago
manager_test.go net/dns: ensure multiple hosts with the same IP address are combined into a single HostEntry 2 years ago
manager_windows.go net/dns: ensure the Windows configurator does not touch the hosts file unless the configuration actually changed 1 year ago
manager_windows_test.go net/dns: ensure the Windows configurator does not touch the hosts file unless the configuration actually changed 1 year ago
nm.go all: use Go 1.21's binary.NativeEndian 1 year ago
noop.go
nrpt_windows.go util/winutil/gp, net/dns: add package for Group Policy API 2 years ago
openresolv.go net/dns: log more info when openresolv commands fail 2 years ago
osconfig.go net/dns: fix IsZero and Equal methods on OSConfig 1 year ago
osconfig_test.go net/dns: fix IsZero and Equal methods on OSConfig 1 year ago
resolvconf-workaround.sh
resolvconf.go net/dns: properly detect newer debian resolvconf 2 years ago
resolvconfpath_default.go
resolvconfpath_gokrazy.go
resolvd.go net/dns: fix blank lines being added to resolv.conf on OpenBSD (#13928) 1 year ago
resolved.go health: remove SysDNSOS, add two Warnables for read+set system DNS config (#13874) 1 year ago
utf.go
utf_test.go
wsl_windows.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 2 years ago