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/cmd/tailscaled
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
..
childproc all: update copyright and license headers 3 years ago
tailscaledhooks feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 7 months ago
debug.go net/netmon: publish events to event bus 8 months ago
depaware.txt util/syspolicy/policyclient: add policyclient.Client interface, start plumbing 3 months ago
deps_test.go ssh,tempfork/gliderlabs/ssh: replace github.com/tailscale/golang-x-crypto/ssh with golang.org/x/crypto/ssh 10 months ago
generate.go cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 3 years ago
install_darwin.go all: update copyright and license headers 3 years ago
install_windows.go cmd/tailscaled: add Dnscache as a service dependency 4 months ago
manifest_windows_386.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
manifest_windows_amd64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
manifest_windows_arm64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
proxy.go all: update copyright and license headers 3 years ago
required_version.go all: switch to and require Go 1.23 1 year ago
sigpipe.go all: adjust some build tags for plan9 2 years ago
ssh.go ssh/tailssh: add Plan 9 support for Tailscale SSH 8 months ago
tailscaled.defaults cmd/tailscaled: rename relaynode reference in defaults file comment 6 years ago
tailscaled.go util/syspolicy/*: move syspolicy keys to new const leaf "pkey" package 3 months ago
tailscaled.openrc tstest/integration/vms: use an in-process logcatcher (#2360) 4 years ago
tailscaled.service cmd/tailscaled: move cleanup to an implicit action during startup 2 years ago
tailscaled_bird.go all: update copyright and license headers 3 years ago
tailscaled_notwindows.go all: update copyright and license headers 3 years ago
tailscaled_test.go control/controlclient,tempfork/httprec: don't link httptest, test certs for c2n 11 months ago
tailscaled_windows.go util/syspolicy/*: move syspolicy keys to new const leaf "pkey" package 3 months ago
windows-manifest.xml cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
with_cli.go all: update copyright and license headers 3 years ago