aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tunnel
diff options
context:
space:
mode:
authorDavid Crawshaw <crawshaw@tailscale.com>2020-06-23 10:03:15 +1000
committerJason A. Donenfeld <Jason@zx2c4.com>2020-07-14 23:17:51 -0600
commit6823cc10ffe193c0cb1d61a5d1828d563d3d0e5f (patch)
tree2bf5e8774ed424b9e569621853567c68fb00f555 /tunnel
parentwinipcfg: add missing error case to dns domain setting (diff)
downloadwireguard-windows-6823cc10ffe193c0cb1d61a5d1828d563d3d0e5f.tar.xz
wireguard-windows-6823cc10ffe193c0cb1d61a5d1828d563d3d0e5f.zip
tunnel: use conn.BindSocketToInterface type
Signed-off-by: David Crawshaw <crawshaw@tailscale.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'tunnel')
-rw-r--r--tunnel/defaultroutemonitor.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/tunnel/defaultroutemonitor.go b/tunnel/defaultroutemonitor.go
index e71aad0d..3af9042c 100644
--- a/tunnel/defaultroutemonitor.go
+++ b/tunnel/defaultroutemonitor.go
@@ -11,9 +11,9 @@ import (
"time"
"golang.org/x/sys/windows"
+ "golang.zx2c4.com/wireguard/conn"
"golang.zx2c4.com/wireguard/device"
"golang.zx2c4.com/wireguard/tun"
-
"golang.zx2c4.com/wireguard/windows/tunnel/winipcfg"
)
@@ -51,12 +51,16 @@ func bindSocketRoute(family winipcfg.AddressFamily, device *device.Device, ourLU
*lastLUID = luid
*lastIndex = index
blackhole := blackholeWhenLoop && index == 0
+ bind, _ := device.Bind().(conn.BindSocketToInterface)
+ if bind == nil {
+ return nil
+ }
if family == windows.AF_INET {
log.Printf("Binding v4 socket to interface %d (blackhole=%v)", index, blackhole)
- return device.BindSocketToInterface4(index, blackhole)
+ return bind.BindSocketToInterface4(index, blackhole)
} else if family == windows.AF_INET6 {
log.Printf("Binding v6 socket to interface %d (blackhole=%v)", index, blackhole)
- return device.BindSocketToInterface6(index, blackhole)
+ return bind.BindSocketToInterface6(index, blackhole)
}
return nil
}