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/util
Aaron Klotz da078b4c09 util/winutil: add package for logging into Windows via Service-for-User (S4U)
This PR ties together pseudoconsoles, user profiles, s4u logons, and
process creation into what is (hopefully) a simple API for various
Tailscale services to obtain Windows access tokens without requiring
knowledge of any Windows passwords. It works both for domain-joined
machines (Kerberos) and non-domain-joined machines. The former case
is fairly straightforward as it is fully documented. OTOH, the latter
case is not documented, though it is fully defined in the C headers in
the Windows SDK. The documentation blanks were filled in by reading
the source code of Microsoft's Win32 port of OpenSSH.

We need to do a bit of acrobatics to make conpty work correctly while
creating a child process with an s4u token; see the doc comments above
startProcessInternal for details.

Updates #12383

Signed-off-by: Aaron Klotz <aaron@tailscale.com>
5 months ago
..
cache util/cache: fix missing interface methods (#11275) 9 months ago
cibuild
clientmetric
cloudenv all: use math/rand/v2 more 5 months ago
cmpver util/cmpver: add Less/LessEq helper funcs 8 months ago
codegen all: use Go 1.22 range-over-int 7 months ago
cstruct all: use Go 1.22 range-over-int 7 months ago
ctxkey all: use reflect.TypeFor now available in Go 1.22 (#11078) 9 months ago
deephash util/deephash: fix test regression on 32-bit 5 months ago
dirwalk
dnsname all: use Go 1.22 range-over-int 7 months ago
execqueue control/controlclient,util/execqueue: extract execqueue into a package 10 months ago
expvarx all: use Go 1.22 range-over-int 7 months ago
fastuuid all: use Go 1.22 range-over-int 7 months ago
goroutines util/goroutines: let ScrubbedGoroutineDump get only current stack 1 year ago
groupmember util/groupmember: fail earlier if group doesn't exist, use slices.Contains 1 year ago
hashx all: use Go 1.22 range-over-int 7 months ago
httphdr util/httphdr: add new package for parsing HTTP headers (#9797) 1 year ago
httpm util/httpm: don't run test if .git doesn't exist 12 months ago
jsonutil all: use Go 1.22 range-over-int 7 months ago
limiter all: use Go 1.22 range-over-int 7 months ago
lineread
linuxfw util/linuxfw: verify that IPv6 if available if (#12598) 5 months ago
lru util/lru: add Clear method 6 months ago
mak
multierr all: use Go 1.22 range-over-int 7 months ago
must
nocasemaps all: use Go 1.22 range-over-int 7 months ago
osdiag ipn/local: log OS-specific diagnostic information as JSON (#11700) 7 months ago
osshare
osuser util/osuser: add unit test for parseGroupIds 7 months ago
pidowner all: use Go 1.22 range-over-int 7 months ago
pool util/pool: add package for storing and using a pool of items 6 months ago
precompress
progresstracking ipn/localapi: add support for multipart POST to file-put 8 months ago
quarantine
race all: use Go 1.22 range-over-int 7 months ago
racebuild
rands wgengine/magicsock: use math/rands/v2 5 months ago
reload all: use math/rand/v2 more 5 months ago
ringbuffer all: use Go 1.22 range-over-int 7 months ago
set util/set: add Of variant of SetOf that takes variadic parameter 6 months ago
singleflight util/singleflight: add DoChanContext 5 months ago
slicesx all: use math/rand/v2 more 5 months ago
syspolicy xcode/iOS: support serial number collection via MDM on iOS (#11429) 5 months ago
sysresources
systemd
testenv util/testenv: add new package to hold InTest 1 year ago
topk all: use Go 1.22 range-over-int 7 months ago
truncate util/truncate: support []byte as well (#11614) 7 months ago
uniq all: use Go 1.22 range-over-int 7 months ago
vizerror
winutil util/winutil: add package for logging into Windows via Service-for-User (S4U) 5 months ago
zstdframe all: use Go 1.22 range-over-int 7 months ago