aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/manager
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-09-10 23:25:52 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2021-09-10 23:25:52 +0200
commitcb1c42e03688f3bbd297e2ac0cc0d4c000e37641 (patch)
tree95faeeecf4665335a22894ba20ece2a17669bf61 /manager
parenttunnel: set address after routes so that loopback works (diff)
downloadwireguard-windows-cb1c42e03688f3bbd297e2ac0cc0d4c000e37641.tar.xz
wireguard-windows-cb1c42e03688f3bbd297e2ac0cc0d4c000e37641.zip
manager: disable multiple tunnels on pre-win10
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'manager')
-rw-r--r--manager/ipc_server.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/manager/ipc_server.go b/manager/ipc_server.go
index ba785ced..337cb8b4 100644
--- a/manager/ipc_server.go
+++ b/manager/ipc_server.go
@@ -113,13 +113,14 @@ func (s *ManagerService) Start(tunnelName string) error {
return err
}
+ maj, _, _ := windows.RtlGetNtVersionNumbers()
// Figure out which tunnels have intersecting addresses/routes and stop those.
trackedTunnelsLock.Lock()
tt := make([]string, 0, len(trackedTunnels))
var inTransition string
for t, state := range trackedTunnels {
c2, err := conf.LoadFromName(t)
- if err != nil || !c.IntersectsWith(c2) {
+ if maj >= 10 && (err != nil || !c.IntersectsWith(c2)) {
// If we can't get the config, assume it doesn't intersect.
continue
}