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>
11 months ago
..
publicdns net/dns/publicdns: remove additional information in DOH URL passed to IPv6 address generation for controlD. 1 year 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 11 months ago
config.go all: add test for package comments, fix, add comments as needed 1 year ago
debian_resolvconf.go all: update copyright and license headers 3 years ago
direct.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 1 year ago
direct_linux.go net/dns: updated gonotify dependency to v2 that supports closable context 1 year ago
direct_notlinux.go all: update copyright and license headers 3 years ago
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 1 year ago
flush_default.go all: update copyright and license headers 3 years ago
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 all: update copyright and license headers 3 years ago
ini_test.go all: update copyright and license headers 3 years ago
manager.go util/slicesx: add MapKeys and MapValues from golang.org/x/exp/maps 11 months 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 11 months ago
manager_freebsd.go various: create a catch-all NRPT rule when "Override local DNS" is enabled on Windows 1 year ago
manager_linux.go various: create a catch-all NRPT rule when "Override local DNS" is enabled on Windows 1 year ago
manager_linux_test.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 1 year ago
manager_openbsd.go various: create a catch-all NRPT rule when "Override local DNS" is enabled on Windows 1 year ago
manager_solaris.go all: illumos/solaris userspace only support 11 months 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 1 year ago
manager_windows.go net/dns: ensure the Windows configurator does not touch the hosts file unless the configuration actually changed 11 months ago
manager_windows_test.go net/dns: ensure the Windows configurator does not touch the hosts file unless the configuration actually changed 11 months ago
nm.go all: use Go 1.21's binary.NativeEndian 11 months ago
noop.go all: update copyright and license headers 3 years ago
nrpt_windows.go util/winutil/gp, net/dns: add package for Group Policy API 1 year 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 all: update copyright and license headers 3 years ago
resolvconf.go net/dns: properly detect newer debian resolvconf 2 years ago
resolvconfpath_default.go net/dns: overwrite /tmp/resolv.conf on gokrazy 2 years ago
resolvconfpath_gokrazy.go net/dns: overwrite /tmp/resolv.conf on gokrazy 2 years ago
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 all: update copyright and license headers 3 years ago
utf_test.go all: update copyright and license headers 3 years ago
wsl_windows.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 1 year ago