diff options
author | David Crawshaw <crawshaw@tailscale.com> | 2020-06-22 10:42:28 +1000 |
---|---|---|
committer | David Crawshaw <crawshaw@tailscale.com> | 2020-06-22 10:42:28 +1000 |
commit | b84f1d4db25e6e7de29551d3fd9c3c10e0b731e1 (patch) | |
tree | 9f02db5163ba217a754dfbf5349354e3b9056f0f | |
parent | dfb28757f799e02840e8939ca739107f2560f53f (diff) |
device: export Bind and remove socketfd shims for android
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
-rw-r--r-- | device/bindsocketshim.go | 24 | ||||
-rw-r--r-- | 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() |