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 d05e6dc09e util/syspolicy/policyclient: add policyclient.Client interface, start plumbing
This is step 2 of ~4, breaking up #14720 into reviewable chunks, with
the aim to make syspolicy be a build-time configurable feature.

Step 1 was #16984.

In this second step, the util/syspolicy/policyclient package is added
with the policyclient.Client interface.  This is the interface that's
always present (regardless of build tags), and is what code around the
tree uses to ask syspolicy/MDM questions.

There are two implementations of policyclient.Client for now:

1) NoPolicyClient, which only returns default values.
2) the unexported, temporary 'globalSyspolicy', which is implemented
   in terms of the global functions we wish to later eliminate.

This then starts to plumb around the policyclient.Client to most callers.

Future changes will plumb it more. When the last of the global func
callers are gone, then we can unexport the global functions and make a
proper policyclient.Client type and constructor in the syspolicy
package, removing the globalSyspolicy impl out of tsd.

The final change will sprinkle build tags in a few more places and
lock it in with dependency tests to make sure the dependencies don't
later creep back in.

Updates #16998
Updates #12614

Change-Id: Ib2c93d15c15c1f2b981464099177cd492d50391c
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
3 months ago
..
publicdns net/dns/publicdns: remove additional information in DOH URL passed to IPv6 address generation for controlD. 1 year ago
recursive net/dns/recursive: set EDNS on queries 5 months ago
resolvconffile clientupdate, net/dns: fix some "tailsacle" typos 2 years ago
resolver net/*: remove Windows exceptions for when Resolver.PreferGo didn't work 6 months ago
config.go ipn/ipnlocal, net/dns: use slices.Equal to simplify code (#16641) 4 months ago
debian_resolvconf.go net/dns: don't link dbus, gonotify on Android 7 months ago
direct.go net/dns: don't link dbus, gonotify on Android 7 months ago
direct_linux.go net/dns: don't link dbus, gonotify on Android 7 months ago
direct_linux_test.go net/dns: add a simple test for resolv.conf inotify watcher 10 months ago
direct_notlinux.go net/dns: don't link dbus, gonotify on Android 7 months 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 net/dns: cache dns.Config for reuse when compileConfig fails (#16059) 6 months ago
manager_darwin.go net/dns: support GetBaseConfig on Darwin OSS tailscaled (#13351) 1 year ago
manager_default.go net/dns: don't link dbus, gonotify on Android 7 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 all: detect JetKVM and specialize a handful of things for it 5 months 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_plan9.go net/dns: add Plan 9 support 8 months ago
manager_plan9_test.go net/dns: add Plan 9 support 8 months 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: cache dns.Config for reuse when compileConfig fails (#16059) 6 months ago
manager_windows.go util/syspolicy/policyclient: add policyclient.Client interface, start plumbing 3 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 net/dns: don't link dbus, gonotify on Android 7 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: don't link dbus, gonotify on Android 7 months 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 net/dns: don't link dbus, gonotify on Android 7 months 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