diff options
Diffstat (limited to 'tunnel/defaultroutemonitor.go')
-rw-r--r-- | tunnel/defaultroutemonitor.go | 10 |
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 } |