tailscale/wgengine
Aaron Klotz a44687e71f wgengine/winnet: invoke some COM methods directly instead of through IDispatch.
Intermittently in the wild we are seeing failures when calling
`INetworkConnection::GetNetwork`. It is unclear what the root cause is, but what
is clear is that the error is happening inside the object's `IDispatch` invoker
(as opposed to the method implementation itself).

This patch replaces our wrapper for `INetworkConnection::GetNetwork` with an
alternate implementation that directly invokes the method, instead of using
`IDispatch`. I also replaced the implementations of `INetwork::SetCategory` and
`INetwork::GetCategory` while I was there.

This patch is speculative and tightly-scoped so that we could possibly add it
to a dot-release if necessary.

Updates https://github.com/tailscale/tailscale/issues/4134
Updates https://github.com/tailscale/tailscale/issues/6037

Signed-off-by: Aaron Klotz <aaron@tailscale.com>
2022-10-27 14:05:31 -05:00
..
bench all: fix more resource leaks found by staticmajor 2022-10-10 20:46:56 -07:00
filter all: fix spelling mistakes 2022-09-29 13:36:13 -07:00
magicsock net/netcheck, tailcfg: track whether OS supports IPv6 2022-10-21 15:31:42 -04:00
monitor envknob: support changing envknobs post-init 2022-09-15 15:04:02 -07:00
netlog wgengine/netlog: add support for magicsock statistics (#5913) 2022-10-13 10:46:29 -07:00
netstack wgengine/netstack: enable TCP SACK (#6066) 2022-10-25 16:09:20 -07:00
router wgengine/router: [linux] add before deleting interface addrs 2022-10-20 13:39:33 -07:00
wgcfg wgengine/wgcfg: plumb down audit log IDs (#5855) 2022-10-06 16:19:38 -07:00
wgint go.mod, wgengine/wgint: bump wireguard-go 2022-09-06 11:34:30 -07:00
wglog all: use syncs.AtomicValue 2022-08-04 11:52:16 -07:00
winnet wgengine/winnet: invoke some COM methods directly instead of through IDispatch. 2022-10-27 14:05:31 -05:00
mem_ios.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 2021-05-25 13:18:21 -07:00
pendopen.go wgengine: remove all peer status from open timeout diagnostics 2022-08-29 15:54:33 -07:00
userspace_ext_test.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 2021-05-25 13:18:21 -07:00
userspace_test.go all: convert more code to use net/netip directly 2022-07-25 21:53:49 -07:00
userspace.go net/dns: always attempt to read the OS config on macOS/iOS 2022-10-13 15:11:07 -07:00
watchdog_js.go wasm: drop pprof dependency 2022-06-07 12:16:16 -07:00
watchdog_test.go wgengine: remove all peer status from open timeout diagnostics 2022-08-29 15:54:33 -07:00
watchdog.go wgengine: print in-flight operations on watchdog trigger (#5447) 2022-08-27 22:06:18 -04:00
wgengine.go wgengine: fix typo in Engine.PeerForIP (#5912) 2022-10-12 14:14:22 -07:00