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
Aaron Klotz 033bd94d4c cmd/tailscaled, wgengine/router: use wingoes/com for COM initialization instead of go-ole
This patch removes the crappy, half-backed COM initialization used by `go-ole`
and replaces that with the `StartRuntime` function from `wingoes`, a library I
have started which, among other things, initializes COM properly.

In particular, we should always be initializing COM to use the multithreaded
apartment. Every single OS thread in the process becomes implicitly initialized
as part of the MTA, so we do not need to concern ourselves as to whether or not
any particular OS thread has initialized COM. Furthermore, we no longer need to
lock the OS thread when calling methods on COM interfaces.

Single-threaded apartments are designed solely for working with Win32 threads
that have a message pump; any other use of the STA is invalid.

Fixes https://github.com/tailscale/tailscale/issues/3137

Signed-off-by: Aaron Klotz <aaron@tailscale.com>
2 years ago
..
addlicense cmd/addlicense: add command to add licenseheaders to generated code 3 years ago
cloner cmd/{cloner,viewer}: add support for map values with pointers 2 years ago
containerboot all: standardize on LocalAPI 2 years ago
derper all: use strs.CutPrefix and strs.CutSuffix more 2 years ago
derpprobe cmd/derpprobe: add -once flag for one-off CLI diagnostics 2 years ago
gitops-pusher cmd/gitops-pusher: standardize hujson before posting to validate (#5525) 2 years ago
hello refactor: move from io/ioutil to io and os packages 2 years ago
mkmanifest cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
mkpkg cmd/mkpkg: use package flag (#4373) 3 years ago
netlogfmt cmd/netlogfmt: handle any stream of network logs (#6108) 2 years ago
nginx-auth cmd/nginx-auth: add experimental status badge to README 2 years ago
pgproxy cmd/pgproxy: link to blog post at the top. 2 years ago
printdep Docker: add ALPINE.txt to manage alpine versions 2 years ago
proxy-to-grafana all: gofmt for Go 1.19 2 years ago
speedtest net/speedtest: retune to meet iperf on localhost in a VM 2 years ago
ssh-auth-none-demo ssh/tailssh: add password-forcing workaround for buggy SSH clients 2 years ago
stunc cmd/stunc: add command for making debug stun requests 2 years ago
tailscale cmd/tailscale: fix 'debug local-creds' hostname 2 years ago
tailscaled cmd/tailscaled, wgengine/router: use wingoes/com for COM initialization instead of go-ole 2 years ago
testcontrol all: use any instead of interface{} 3 years ago
tsconnect ipn/ipnlocal: add support for multiple user profiles 2 years ago
tsshd all: remove old +build tags 2 years ago
viewer all: fix spelling mistakes 2 years ago