From b84f1d4db25e6e7de29551d3fd9c3c10e0b731e1 Mon Sep 17 00:00:00 2001 From: David Crawshaw Date: Mon, 22 Jun 2020 10:42:28 +1000 Subject: [PATCH] device: export Bind and remove socketfd shims for android Signed-off-by: David Crawshaw --- device/bindsocketshim.go | 24 ------------------------ device/device.go | 6 ++++++ 2 files changed, 6 insertions(+), 24 deletions(-) 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()