tailscale/net/dns
Jonathan Nobels 25d5f78c6e
net/dns: expose a function for recompiling the DNS configuration (#15346)
updates tailscale/corp#27145

We require a means to trigger a recompilation of the DNS configuration
to pick up new nameservers for platforms where we blend the interface
nameservers from the OS into our DNS config.

Notably, on Darwin, the only API we have at our disposal will, in rare instances,
return a transient error when querying the interface nameservers on a link change if
they have not been set when we get the AF_ROUTE messages for the link
update.

There's a corresponding change in corp for Darwin clients, to track
the interface namservers during NEPathMonitor events, and call this
when the nameservers change.

This will also fix the slightly more obscure bug of changing nameservers
 while tailscaled is running.  That change can now be reflected in
magicDNS without having to stop the client.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
2025-03-19 09:21:37 -04:00
..
publicdns net/dns/publicdns: remove additional information in DOH URL passed to IPv6 address generation for controlD. 2024-07-10 16:14:05 -04:00
recursive all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
resolvconffile clientupdate, net/dns: fix some "tailsacle" typos 2024-04-03 21:08:25 -07:00
resolver all: illumos/solaris userspace only support 2025-01-09 14:46:23 -08:00
config.go all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
debian_resolvconf.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
direct_linux_test.go net/dns: add a simple test for resolv.conf inotify watcher 2025-02-11 18:53:38 +00:00
direct_linux.go net/dns: update to illarion/gonotify/v3 to fix a panic 2025-02-11 18:53:38 +00:00
direct_notlinux.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
direct_test.go clientupdate, net/dns: fix some "tailsacle" typos 2024-04-03 21:08:25 -07:00
direct_unix_test.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 2024-06-26 00:02:05 -04:00
direct.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 2024-06-26 00:02:05 -04:00
flush_default.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
flush_windows.go cmd/tailscaled, net/dns, wgengine/router: start Windows child processes with DETACHED_PROCESS when I/O is being piped 2024-06-11 11:35:26 -06:00
ini_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ini.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
manager_darwin.go net/dns: support GetBaseConfig on Darwin OSS tailscaled (#13351) 2024-09-04 10:31:58 -07:00
manager_default.go all: illumos/solaris userspace only support 2025-01-09 14:46:23 -08:00
manager_freebsd.go various: create a catch-all NRPT rule when "Override local DNS" is enabled on Windows 2024-06-14 14:41:50 -05:00
manager_linux_test.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 2024-06-26 00:02:05 -04:00
manager_linux.go various: create a catch-all NRPT rule when "Override local DNS" is enabled on Windows 2024-06-14 14:41:50 -05:00
manager_openbsd.go various: create a catch-all NRPT rule when "Override local DNS" is enabled on Windows 2024-06-14 14:41:50 -05:00
manager_solaris.go all: illumos/solaris userspace only support 2025-01-09 14:46:23 -08:00
manager_tcp_test.go net/dns, health: raise health warning for failing forwarded DNS queries (#12888) 2024-07-29 13:48:46 -04:00
manager_test.go net/dns: only populate OSConfig.Hosts when MagicDNS is enabled 2025-01-16 10:23:59 -05:00
manager_windows_test.go net/dns: ensure the Windows configurator does not touch the hosts file unless the configuration actually changed 2025-01-14 16:37:35 -05:00
manager_windows.go net/dns: ensure the Windows configurator does not touch the hosts file unless the configuration actually changed 2025-01-14 16:37:35 -05:00
manager.go net/dns: expose a function for recompiling the DNS configuration (#15346) 2025-03-19 09:21:37 -04:00
nm.go all: use Go 1.21's binary.NativeEndian 2025-01-13 08:31:00 -08:00
noop.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
nrpt_windows.go util/winutil/gp, net/dns: add package for Group Policy API 2024-07-08 20:37:03 -05:00
openresolv.go net/dns: log more info when openresolv commands fail 2024-02-13 20:48:54 -05:00
osconfig_test.go net/dns: fix IsZero and Equal methods on OSConfig 2024-09-05 00:05:36 -04:00
osconfig.go net/dns: fix IsZero and Equal methods on OSConfig 2024-09-05 00:05:36 -04:00
resolvconf-workaround.sh all: update copyright and license headers 2023-01-27 15:36:29 -08:00
resolvconf.go net/dns: properly detect newer debian resolvconf 2023-10-11 08:38:25 -07:00
resolvconfpath_default.go net/dns: overwrite /tmp/resolv.conf on gokrazy 2023-07-23 09:53:32 -07:00
resolvconfpath_gokrazy.go net/dns: overwrite /tmp/resolv.conf on gokrazy 2023-07-23 09:53:32 -07:00
resolvd.go net/dns: fix blank lines being added to resolv.conf on OpenBSD (#13928) 2024-10-28 08:00:48 -07:00
resolved.go health: remove SysDNSOS, add two Warnables for read+set system DNS config (#13874) 2024-10-21 13:40:43 -07:00
utf_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
utf.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
wsl_windows.go net/dns: ensure /etc/resolv.conf is world-readable even with a umask 2024-06-26 00:02:05 -04:00