From c403da6a39c876123c096113d08d0d3019b4a07e Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sun, 7 Jun 2020 01:41:08 -0600 Subject: conn: unbreak boundif on android Another thing never tested ever. Signed-off-by: Jason A. Donenfeld --- device/bindsocketshim.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'device/bindsocketshim.go') diff --git a/device/bindsocketshim.go b/device/bindsocketshim.go index 896c7d2..68e1504 100644 --- a/device/bindsocketshim.go +++ b/device/bindsocketshim.go @@ -34,3 +34,27 @@ 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") +} -- cgit v1.2.3-59-g8ed1b