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
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
..
childproc cmd/tailscaled/childproc: add be-child registration mechanism 3 years ago
debug.go all: remove old +build tags 2 years ago
depaware.txt cmd/tailscaled, wgengine/router: use wingoes/com for COM initialization instead of go-ole 2 years ago
generate.go cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
install_darwin.go all: remove old +build tags 2 years ago
install_windows.go all: remove old +build tags 2 years ago
manifest_windows_386.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
manifest_windows_amd64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
manifest_windows_arm.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
manifest_windows_arm64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
proxy.go all: remove old +build tags 2 years ago
required_version.go all: remove old +build tags 2 years ago
ssh.go ssh/tailssh: add Tailscale SSH (server) support on FreeBSD 2 years ago
tailscaled.defaults cmd/tailscaled: rename relaynode reference in defaults file comment 5 years ago
tailscaled.go envknob: add GOOS func 2 years ago
tailscaled.openrc tstest/integration/vms: use an in-process logcatcher (#2360) 3 years ago
tailscaled.service cmd/tailscaled: use explicit equal sign in --port=$PORT in tailscaled.service 2 years ago
tailscaled_bird.go cmd/tailscaled, net/tstun: add build tags to omit BIRD and TAP 2 years ago
tailscaled_notwindows.go all: remove old +build tags 2 years ago
tailscaled_test.go cmd/tailscaled: add a no-op test for profiling init-time memory allocs 3 years ago
tailscaled_windows.go cmd/tailscaled, wgengine/router: use wingoes/com for COM initialization instead of go-ole 2 years ago
windows-manifest.xml cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 2 years ago
with_cli.go all: remove old +build tags 2 years ago