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
Nick Khyl f0db47338e cmd/tailscaled,util/syspolicy/source,util/winutil/gp: disallow acquiring the GP lock during service startup
In v1.78, we started acquiring the GP lock when reading policy settings. This led to a deadlock during
Tailscale installation via Group Policy Software Installation because the GP engine holds the write lock
for the duration of policy processing, which in turn waits for the installation to complete, which in turn
waits for the service to enter the running state.

In this PR, we prevent the acquisition of GP locks (aka EnterCriticalPolicySection) during service startup
and update the Windows Registry-based util/syspolicy/source.PlatformPolicyStore to handle this failure
gracefully. The GP lock is somewhat optional; it’s safe to read policy settings without it, but acquiring
the lock is recommended when reading multiple values to prevent the Group Policy engine from modifying
settings mid-read and to avoid inconsistent results.

Fixes #14416

Signed-off-by: Nick Khyl <nickk@tailscale.com>
1 year ago
..
addlicense all: fix golangci-lint errors 1 year ago
build-webclient client/web: precompress assets 2 years ago
checkmetrics cmd/checkmetrics: add command for checking metrics against kb 1 year ago
cloner cmd/cloner, cmd/viewer, util/codegen: add support for aliases of cloneable types 1 year ago
connector-gen cmd/connector-gen: add helper tool for wide app connector configurations 2 years ago
containerboot cmd/{k8s-operator,containerboot},kube/kubetypes: parse Ingresses for ingress ProxyGroup (#14583) 1 year ago
derper ipn/ipnlocal: also use LetsEncrypt-baked-in roots for cert validation 1 year ago
derpprobe prober: support filtering regions by region ID in addition to code 1 year ago
dist release/dist/qnap: add qnap target builder 2 years ago
get-authkey cmd,{get-authkey,tailscale}: remove unnecessary scope qualifier from OAuth clients 1 year ago
gitops-pusher cmd/gitops-pusher: default previousEtag to controlEtag (#14296) 1 year ago
hello cmd/hello: link to the Hello KB article (#11022) 2 years ago
k8s-nameserver cmd/k8s-nameserver: fix AAAA record query response (#12412) 2 years ago
k8s-operator net/tstun: move TAP support out to separate package feature/tap 1 year ago
mkmanifest cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 3 years ago
mkpkg go.mod: upgrade nfpm to v2 (#8786) 3 years ago
mkversion version/mkversion: open-source version generation logic 3 years ago
nardump all: update copyright and license headers 3 years ago
natc cmd/natc: fix nil pointer 1 year ago
netlogfmt all: use Go 1.22 range-over-int 2 years ago
nginx-auth tailcfg,all: add and use Node.IsTagged() 3 years ago
pgproxy tsnet: split user facing and backend logging 2 years ago
printdep cmd/printdep: print correct toolchain URL 3 years ago
proxy-to-grafana cmd/proxy-to-grafana: add flag for alternative control server 2 years ago
sniproxy all: use math/rand/v2 more 2 years ago
speedtest all: update copyright and license headers 3 years ago
ssh-auth-none-demo all: replace deprecated ioutil references 2 years ago
stunc cmd/stunc: enforce read timeout deadline (#14309) 1 year ago
stund go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 1 year ago
stunstamp cmd/stunstamp: add protocol context to timeout logs (#13422) 1 year ago
sync-containers all: adjust some build tags for plan9 2 years ago
systray cmd/systray: add cmd/systray back as a small client/systray wrapper 1 year ago
tailscale cmd/tailscale: define CLI tools to manipulate macOS network and system extensions (#14727) 1 year ago
tailscaled cmd/tailscaled,util/syspolicy/source,util/winutil/gp: disallow acquiring the GP lock during service startup 1 year ago
testcontrol all: use Go 1.22 range-over-int 2 years ago
testwrapper util/slicesx: add MapKeys and MapValues from golang.org/x/exp/maps 1 year ago
tl-longchain cmd/tl-longchain: tool to re-sign nodes with long rotation signatures 1 year ago
tsconnect build(deps): bump braces from 3.0.2 to 3.0.3 in /cmd/tsconnect (#12468) 1 year ago
tsidp cmd/tsidp: add --dir flag 1 year ago
tsshd all: update copyright and license headers 3 years ago
tta cmd/tta: pull out test driver dialing into a type, fix bugs 1 year ago
viewer cmd/viewer,all: consistently use "read-only" instead of "readonly" 1 year ago
vnet tstest/natlab/vnet: add start of IPv6 support 1 year ago
xdpderper all: add test for package comments, fix, add comments as needed 2 years ago