Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5845031

Browse files
authored
chore: initialize COM in vpn-daemon on Windows (#16476)
1 parentbcfeb72 commit5845031

File tree

3 files changed

+57
-39
lines changed

3 files changed

+57
-39
lines changed

‎go.mod

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ require (
7171
github.com/adrg/xdgv0.5.0
7272
github.com/ammario/tlruv0.4.0
7373
github.com/andybalholm/brotliv1.1.1
74+
github.com/aquasecurity/trivy-iacv0.8.0
7475
github.com/armon/circbufv0.0.0-20190214190532-5111143e8da2
7576
github.com/awalterschulze/gographvizv2.0.3+incompatible
7677
github.com/aws/smithy-gov1.22.2
@@ -101,6 +102,7 @@ require (
101102
github.com/creack/ptyv1.1.21
102103
github.com/dave/dstv0.27.2
103104
github.com/davecgh/go-spewv1.1.2-0.20180830191138-d8f796af33cc
105+
github.com/dblohm7/wingoesv0.0.0-20240820181039-f2b84150679e
104106
github.com/elastic/go-sysinfov1.15.0
105107
github.com/emersion/go-saslv0.0.0-20200509203442-7bfe0ed36a21
106108
github.com/emersion/go-smtpv0.21.2
@@ -174,6 +176,7 @@ require (
174176
github.com/unrolled/securev1.17.0
175177
github.com/valyala/fasthttpv1.58.0
176178
github.com/wagslane/go-password-validatorv0.3.0
179+
github.com/zclconf/go-cty-yamlv1.1.0
177180
go.mozilla.org/pkcs7v0.9.0
178181
go.nhat.io/otelsqlv0.15.0
179182
go.opentelemetry.io/otelv1.34.0
@@ -218,11 +221,18 @@ require (
218221
github.com/Azure/go-ansitermv0.0.0-20230124172434-306776ec8161// indirect
219222
github.com/DataDog/appsec-internal-gov1.9.0// indirect
220223
github.com/DataDog/datadog-agent/pkg/obfuscatev0.58.0// indirect
224+
github.com/DataDog/datadog-agent/pkg/protov0.58.0// indirect
221225
github.com/DataDog/datadog-agent/pkg/remoteconfig/statev0.58.0// indirect
226+
github.com/DataDog/datadog-agent/pkg/tracev0.58.0// indirect
227+
github.com/DataDog/datadog-agent/pkg/util/logv0.58.0// indirect
228+
github.com/DataDog/datadog-agent/pkg/util/scrubberv0.58.0// indirect
222229
github.com/DataDog/datadog-go/v5v5.5.0// indirect
223230
github.com/DataDog/go-libddwaf/v3v3.5.1// indirect
231+
github.com/DataDog/go-runtime-metrics-internalv0.0.4-0.20241206090539-a14610dc22b6// indirect
232+
github.com/DataDog/go-sqllexerv0.0.14// indirect
224233
github.com/DataDog/go-tufv1.1.0-0.5.2// indirect
225234
github.com/DataDog/gostackparsev0.7.0// indirect
235+
github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributesv0.20.0// indirect
226236
github.com/DataDog/sketches-gov1.4.5// indirect
227237
github.com/KyleBanks/depthv1.2.1// indirect
228238
github.com/Microsoft/go-winiov0.6.2// indirect
@@ -235,6 +245,7 @@ require (
235245
github.com/alecthomas/chroma/v2v2.15.0// indirect
236246
github.com/alexbrainman/sspiv0.0.0-20210105120005-909beea2cc74// indirect
237247
github.com/anmitsu/go-shlexv0.0.0-20200514113438-38f4b401e2be// indirect
248+
github.com/apparentlymart/go-cidrv1.1.0// indirect
238249
github.com/apparentlymart/go-textseg/v15v15.0.0// indirect
239250
github.com/armon/go-radixv1.0.1-0.20221118154546-54df44f2176c// indirect
240251
github.com/atotto/clipboardv0.1.4// indirect
@@ -257,9 +268,11 @@ require (
257268
github.com/beorn7/perksv1.0.1// indirect
258269
github.com/bep/godartsass/v2v2.3.2// indirect
259270
github.com/bep/golibsassv1.2.0// indirect
271+
github.com/bmatcuk/doublestar/v4v4.6.1// indirect
260272
github.com/charmbracelet/x/ansiv0.4.5// indirect
261273
github.com/charmbracelet/x/termv0.2.0// indirect
262274
github.com/chromedp/sysutilv1.0.0// indirect
275+
github.com/cihub/seelogv0.0.0-20170130134532-f561c5e57575// indirect
263276
github.com/clbanning/mxj/v2v2.7.0// indirect
264277
github.com/cloudflare/circlv1.3.7// indirect
265278
github.com/containerd/continuityv0.4.4// indirect
@@ -298,6 +311,7 @@ require (
298311
github.com/gobwas/wsv1.4.0// indirect
299312
github.com/godbus/dbus/v5v5.1.0// indirect
300313
github.com/gogo/protobufv1.3.2// indirect
314+
github.com/gohugoio/hashstructurev0.3.0// indirect
301315
github.com/golang/groupcachev0.0.0-20210331224755-41bb18bfe9da// indirect
302316
github.com/golang/protobufv1.5.4// indirect
303317
github.com/google/btreev1.1.2// indirect
@@ -334,11 +348,13 @@ require (
334348
github.com/josharian/internv1.0.0// indirect
335349
github.com/josharian/nativev1.1.1-0.20230202152459-5c7d0dd6ab86// indirect
336350
github.com/jsimonetti/rtnetlinkv1.3.5// indirect
351+
github.com/json-iterator/gov1.1.12// indirect
337352
github.com/kortschak/wolv0.0.0-20200729010619-da482cc4850a// indirect
338353
github.com/kr/fsv0.1.0// indirect
339354
github.com/kylelemons/godebugv1.1.0// indirect
340355
github.com/leodido/go-urnv1.4.0// indirect
341356
github.com/lucasb-eyer/go-colorfulv1.2.0// indirect
357+
github.com/lufia/plan9statsv0.0.0-20220913051719-115f729f3c8c// indirect
342358
github.com/mailru/easyjsonv0.7.7// indirect
343359
github.com/mattn/go-colorablev0.1.13// indirect
344360
github.com/mattn/go-localereaderv0.0.1// indirect
@@ -356,6 +372,8 @@ require (
356372
github.com/mitchellh/reflectwalkv1.0.2// indirect
357373
github.com/moby/docker-image-specv1.3.1// indirect
358374
github.com/moby/termv0.5.0// indirect
375+
github.com/modern-go/concurrentv0.0.0-20180306012644-bacd9c7ef1dd// indirect
376+
github.com/modern-go/reflect2v1.0.2// indirect
359377
github.com/muesli/ansiv0.0.0-20230316100256-276c6243b2f6// indirect
360378
github.com/muesli/cancelreaderv0.2.2// indirect
361379
github.com/muesli/reflowv0.3.0// indirect
@@ -374,6 +392,7 @@ require (
374392
github.com/pion/transport/v3v3.0.7// indirect
375393
github.com/pkg/errorsv0.9.1// indirect
376394
github.com/pmezard/go-difflibv1.0.1-0.20181226105442-5d4384ee4fb2// indirect
395+
github.com/power-devops/perfstatv0.0.0-20220216144756-c35f1ee13d7c// indirect
377396
github.com/prometheus/procfsv0.15.1// indirect
378397
github.com/rcrowley/go-metricsv0.0.0-20201227073835-cf1acfcdf475// indirect
379398
github.com/riandyrn/otelchiv0.5.1// indirect
@@ -382,6 +401,8 @@ require (
382401
github.com/ryanuber/go-globv1.0.0// indirect
383402
github.com/satori/go.uuidv1.2.1-0.20181028125025-b2ce2384e17b// indirect
384403
github.com/secure-systems-lab/go-securesystemslibv0.7.0// indirect
404+
github.com/shirou/gopsutil/v3v3.24.4// indirect
405+
github.com/shoenig/go-m1cpuv0.1.6// indirect
385406
github.com/sirupsen/logrusv1.9.3// indirect
386407
github.com/spaolacci/murmur3v1.1.0// indirect
387408
github.com/spf13/castv1.7.1// indirect
@@ -391,6 +412,7 @@ require (
391412
github.com/tailscale/golang-x-cryptov0.0.0-20230713185742-f0b76a10a08e// indirect
392413
github.com/tailscale/goupnpv1.0.1-0.20210804011211-c64d0f06ea05// indirect
393414
github.com/tailscale/netlinkv1.1.1-0.20211101221916-cabfb018fe85
415+
github.com/tailscale/peercredv0.0.0-20250107143737-35a0c7bd7edc// indirect
394416
github.com/tailscale/wireguard-gov0.0.0-20231121184858-cc193a0b3272
395417
github.com/tchap/go-patricia/v2v2.3.2// indirect
396418
github.com/tcnksm/go-httpstatv0.2.0// indirect
@@ -399,6 +421,8 @@ require (
399421
github.com/tidwall/matchv1.1.1// indirect
400422
github.com/tidwall/prettyv1.2.1// indirect
401423
github.com/tinylib/msgpv1.2.1// indirect
424+
github.com/tklauser/go-sysconfv0.3.12// indirect
425+
github.com/tklauser/numcpusv0.6.1// indirect
402426
github.com/u-root/uiov0.0.0-20240209044354-b3d14b93376a// indirect
403427
github.com/vishvananda/netlinkv1.2.1-beta.2// indirect
404428
github.com/vishvananda/netnsv0.0.4// indirect
@@ -413,13 +437,21 @@ require (
413437
github.com/yashtewari/glob-intersectionv0.2.0// indirect
414438
github.com/yuin/goldmarkv1.7.8// indirect
415439
github.com/yuin/goldmark-emojiv1.0.4// indirect
440+
github.com/yusufpapurcu/wmiv1.2.4// indirect
416441
github.com/zclconf/go-ctyv1.16.0
417442
github.com/zeebo/errsv1.3.0// indirect
418443
go.opentelemetry.io/auto/sdkv1.1.0// indirect
444+
go.opentelemetry.io/collector/componentv0.104.0// indirect
445+
go.opentelemetry.io/collector/config/configtelemetryv0.104.0// indirect
446+
go.opentelemetry.io/collector/pdatav1.11.0// indirect
447+
go.opentelemetry.io/collector/pdata/pprofilev0.104.0// indirect
448+
go.opentelemetry.io/collector/semconvv0.104.0// indirect
419449
go.opentelemetry.io/contribv1.19.0// indirect
420450
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttpv0.59.0// indirect
421451
go.opentelemetry.io/otel/metricv1.34.0// indirect
422452
go.opentelemetry.io/proto/otlpv1.5.0// indirect
453+
go.uber.org/multierrv1.11.0// indirect
454+
go.uber.org/zapv1.27.0// indirect
423455
go4.org/memv0.0.0-20220726221520-4f986261bf13// indirect
424456
golang.org/x/timev0.9.0// indirect
425457
golang.zx2c4.com/wintunv0.0.0-20230126152724-0fa3db229ce2
@@ -429,46 +461,9 @@ require (
429461
google.golang.org/genprotov0.0.0-20241118233622-e639e219e697// indirect
430462
google.golang.org/genproto/googleapis/apiv0.0.0-20250115164207-1a7da9e5054f// indirect
431463
google.golang.org/genproto/googleapis/rpcv0.0.0-20250124145028-65684f501c47// indirect
464+
gopkg.in/ini.v1v1.67.0// indirect
432465
gopkg.in/yaml.v2v2.4.0// indirect
433466
howett.net/plistv1.0.0// indirect
434467
kernel.org/pub/linux/libs/security/libcap/psxv1.2.73// indirect
435468
sigs.k8s.io/yamlv1.4.0// indirect
436469
)
437-
438-
require (
439-
github.com/aquasecurity/trivy-iacv0.8.0
440-
github.com/zclconf/go-cty-yamlv1.1.0
441-
)
442-
443-
require (
444-
github.com/DataDog/datadog-agent/pkg/protov0.58.0// indirect
445-
github.com/DataDog/datadog-agent/pkg/tracev0.58.0// indirect
446-
github.com/DataDog/datadog-agent/pkg/util/logv0.58.0// indirect
447-
github.com/DataDog/datadog-agent/pkg/util/scrubberv0.58.0// indirect
448-
github.com/DataDog/go-runtime-metrics-internalv0.0.4-0.20241206090539-a14610dc22b6// indirect
449-
github.com/DataDog/go-sqllexerv0.0.14// indirect
450-
github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributesv0.20.0// indirect
451-
github.com/apparentlymart/go-cidrv1.1.0// indirect
452-
github.com/bmatcuk/doublestar/v4v4.6.1// indirect
453-
github.com/cihub/seelogv0.0.0-20170130134532-f561c5e57575// indirect
454-
github.com/gohugoio/hashstructurev0.3.0// indirect
455-
github.com/json-iterator/gov1.1.12// indirect
456-
github.com/lufia/plan9statsv0.0.0-20220913051719-115f729f3c8c// indirect
457-
github.com/modern-go/concurrentv0.0.0-20180306012644-bacd9c7ef1dd// indirect
458-
github.com/modern-go/reflect2v1.0.2// indirect
459-
github.com/power-devops/perfstatv0.0.0-20220216144756-c35f1ee13d7c// indirect
460-
github.com/shirou/gopsutil/v3v3.24.4// indirect
461-
github.com/shoenig/go-m1cpuv0.1.6// indirect
462-
github.com/tailscale/peercredv0.0.0-20250107143737-35a0c7bd7edc// indirect
463-
github.com/tklauser/go-sysconfv0.3.12// indirect
464-
github.com/tklauser/numcpusv0.6.1// indirect
465-
github.com/yusufpapurcu/wmiv1.2.4// indirect
466-
go.opentelemetry.io/collector/componentv0.104.0// indirect
467-
go.opentelemetry.io/collector/config/configtelemetryv0.104.0// indirect
468-
go.opentelemetry.io/collector/pdatav1.11.0// indirect
469-
go.opentelemetry.io/collector/pdata/pprofilev0.104.0// indirect
470-
go.opentelemetry.io/collector/semconvv0.104.0// indirect
471-
go.uber.org/multierrv1.11.0// indirect
472-
go.uber.org/zapv1.27.0// indirect
473-
gopkg.in/ini.v1v1.67.0// indirect
474-
)

‎go.sum

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
267267
github.com/davecgh/go-spewv1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
268268
github.com/davecgh/go-spewv1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
269269
github.com/davecgh/go-spewv1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
270+
github.com/dblohm7/wingoesv0.0.0-20240820181039-f2b84150679e h1:L+XrFvD0vBIBm+Wf9sFN6aU395t7JROoai0qXZraA4U=
271+
github.com/dblohm7/wingoesv0.0.0-20240820181039-f2b84150679e/go.mod h1:SUxUaAK/0UG5lYyZR1L1nC4AaYYvSSYTWQSH3FPcxKU=
270272
github.com/dgraph-io/badger/v4v4.5.1 h1:7DCIXrQjo1LKmM96YD+hLVJ2EEsyyoWxJfpdd56HLps=
271273
github.com/dgraph-io/badger/v4v4.5.1/go.mod h1:qn3Be0j3TfV4kPbVoK0arXCD1/nr1ftth6sbL5jxdoA=
272274
github.com/dgraph-io/ristretto/v2v2.1.0 h1:59LjpOJLNDULHh8MC4UaegN52lC4JnO2dITsie/Pa8I=
@@ -722,6 +724,8 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq
722724
github.com/munnerz/goautonegv0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
723725
github.com/natefinch/atomicv1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A=
724726
github.com/natefinch/atomicv1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM=
727+
github.com/nfnt/resizev0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
728+
github.com/nfnt/resizev0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
725729
github.com/niemeyer/prettyv0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
726730
github.com/niklasfasching/go-orgv1.7.0 h1:vyMdcMWWTe/XmANk19F4k8XGBYg0GQ/gJGMimOjGMek=
727731
github.com/niklasfasching/go-orgv1.7.0/go.mod h1:WuVm4d45oePiE0eX25GqTDQIt/qPW1T9DGkRscqLW5o=
@@ -878,6 +882,8 @@ github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85 h1:zrsUcqrG2uQ
878882
github.com/tailscale/netlinkv1.1.1-0.20211101221916-cabfb018fe85/go.mod h1:NzVQi3Mleb+qzq8VmcWpSkcSYxXIg0DkI6XDzpVkhJ0=
879883
github.com/tailscale/peercredv0.0.0-20250107143737-35a0c7bd7edc h1:24heQPtnFR+yfntqhI3oAu9i27nEojcQ4NuBQOo5ZFA=
880884
github.com/tailscale/peercredv0.0.0-20250107143737-35a0c7bd7edc/go.mod h1:f93CXfllFsO9ZQVq+Zocb1Gp4G5Fz0b0rXHLOzt/Djc=
885+
github.com/tc-hib/winresv0.2.1 h1:YDE0FiP0VmtRaDn7+aaChp1KiF4owBiJa5l964l5ujA=
886+
github.com/tc-hib/winresv0.2.1/go.mod h1:C/JaNhH3KBvhNKVbvdlDWkbMDO9H4fKKDaN7/07SSuk=
881887
github.com/tchap/go-patricia/v2v2.3.2 h1:xTHFutuitO2zqKAQ5rCROYgUb7Or/+IC3fts9/Yc7nM=
882888
github.com/tchap/go-patricia/v2v2.3.2/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k=
883889
github.com/tdewolff/minify/v2v2.20.37 h1:Q97cx4STXCh1dlWDlNHZniE8BJ2EBL0+2b0n92BJQhw=

‎vpn/tun_windows.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ import (
77
"errors"
88
"time"
99

10-
"github.com/coder/retry"
10+
"github.com/dblohm7/wingoes/com"
1111
"github.com/tailscale/wireguard-go/tun"
1212
"golang.org/x/sys/windows"
13+
"golang.org/x/sys/windows/svc"
1314
"golang.org/x/xerrors"
1415
"golang.zx2c4.com/wintun"
1516
"tailscale.com/net/dns"
@@ -21,11 +22,27 @@ import (
2122

2223
"cdr.dev/slog"
2324
"github.com/coder/coder/v2/tailnet"
25+
"github.com/coder/retry"
2426
)
2527

2628
consttunName="Coder"
2729

2830
funcGetNetworkingStack(t*Tunnel,_*StartRequest,logger slog.Logger) (NetworkStack,error) {
31+
// Initialize COM process-wide so Tailscale can make calls to the windows
32+
// network APIs to read/write adapter state.
33+
comProcessType:=com.ConsoleApp
34+
isSvc,err:=svc.IsWindowsService()
35+
iferr!=nil {
36+
returnNetworkStack{},xerrors.Errorf("svc.IsWindowsService failed: %w",err)
37+
}
38+
ifisSvc {
39+
comProcessType=com.Service
40+
}
41+
iferr:=com.StartRuntime(comProcessType);err!=nil {
42+
returnNetworkStack{},xerrors.Errorf("could not initialize COM: com.StartRuntime(%d): %w",comProcessType,err)
43+
}
44+
45+
// Set the name and GUID for the TUN interface.
2946
tun.WintunTunnelType=tunName
3047
guid,err:=windows.GUIDFromString("{0ed1515d-04a4-4c46-abae-11ad07cf0e6d}")
3148
iferr!=nil {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp