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>
2022-11-24 14:52:23 -06:00
..
addlicense cmd/addlicense: add command to add licenseheaders to generated code 2021-07-19 15:31:56 -07:00
cloner cmd/{cloner,viewer}: add support for map values with pointers 2022-08-03 13:02:17 -07:00
containerboot all: standardize on LocalAPI 2022-11-16 23:15:24 +05:00
derper all: use strs.CutPrefix and strs.CutSuffix more 2022-11-21 14:32:16 -08:00
derpprobe cmd/derpprobe: add -once flag for one-off CLI diagnostics 2022-11-23 17:41:12 -08:00
gitops-pusher cmd/gitops-pusher: standardize hujson before posting to validate (#5525) 2022-09-01 13:38:32 -04:00
hello refactor: move from io/ioutil to io and os packages 2022-09-15 21:45:53 -07:00
mkmanifest cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2022-11-21 18:15:51 -05:00
mkpkg cmd/mkpkg: use package flag (#4373) 2022-04-07 16:38:33 -04:00
netlogfmt cmd/netlogfmt: handle any stream of network logs (#6108) 2022-10-28 10:40:45 -07:00
nginx-auth cmd/nginx-auth: add experimental status badge to README 2022-10-25 11:03:40 -07:00
pgproxy cmd/pgproxy: link to blog post at the top. 2022-10-04 16:47:12 -07:00
printdep Docker: add ALPINE.txt to manage alpine versions 2022-06-29 11:47:09 -07:00
proxy-to-grafana all: gofmt for Go 1.19 2022-08-02 10:08:05 -07:00
speedtest net/speedtest: retune to meet iperf on localhost in a VM 2022-09-23 10:46:04 -07:00
ssh-auth-none-demo ssh/tailssh: add password-forcing workaround for buggy SSH clients 2022-10-11 15:03:02 -07:00
stunc cmd/stunc: add command for making debug stun requests 2022-11-23 15:38:54 -08:00
tailscale cmd/tailscale: fix 'debug local-creds' hostname 2022-11-23 09:58:32 -08:00
tailscaled cmd/tailscaled, wgengine/router: use wingoes/com for COM initialization instead of go-ole 2022-11-24 14:52:23 -06:00
testcontrol all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
tsconnect ipn/ipnlocal: add support for multiple user profiles 2022-11-11 10:45:47 +05:00
tsshd all: remove old +build tags 2022-11-04 07:25:42 -07:00
viewer all: fix spelling mistakes 2022-09-29 13:36:13 -07:00