From: David Crawshaw Date: Mon, 22 Jun 2020 00:42:28 +0000 (+1000) Subject: device: export Bind and remove socketfd shims for android X-Git-Tag: 0.0.20201118~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b84f1d4db25e6e7de29551d3fd9c3c10e0b731e1;p=thirdparty%2Fwireguard-go.git device: export Bind and remove socketfd shims for android Signed-off-by: David Crawshaw --- diff --git a/device/bindsocketshim.go b/device/bindsocketshim.go index 68e1504..896c7d2 100644 --- a/device/bindsocketshim.go +++ b/device/bindsocketshim.go @@ -34,27 +34,3 @@ func (device *Device) BindSocketToInterface6(interfaceIndex uint32, blackhole bo } return nil } - -// TODO(crawshaw): this method is a compatibility shim. Replace with direct use of conn. -func (device *Device) PeekLookAtSocketFd4() (fd int, err error) { - if device.net.bind == nil { - return -1, errors.New("Bind is not yet initialized") - } - - if iface, ok := device.net.bind.(conn.PeekLookAtSocketFd); ok { - return iface.PeekLookAtSocketFd4() - } - return -1, errors.New("unimplemented") -} - -// TODO(crawshaw): this method is a compatibility shim. Replace with direct use of conn. -func (device *Device) PeekLookAtSocketFd6() (fd int, err error) { - if device.net.bind == nil { - return -1, errors.New("Bind is not yet initialized") - } - - if iface, ok := device.net.bind.(conn.PeekLookAtSocketFd); ok { - return iface.PeekLookAtSocketFd6() - } - return -1, errors.New("unimplemented") -} diff --git a/device/device.go b/device/device.go index 11119f9..c64432e 100644 --- a/device/device.go +++ b/device/device.go @@ -430,6 +430,12 @@ func unsafeCloseBind(device *Device) error { return err } +func (device *Device) Bind() conn.Bind { + device.net.Lock() + defer device.net.Unlock() + return device.net.bind +} + func (device *Device) BindSetMark(mark uint32) error { device.net.Lock()