device: export Bind and remove socketfd shims for android
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
This commit is contained in:
parent
dfb28757f7
commit
b84f1d4db2
|
@ -34,27 +34,3 @@ func (device *Device) BindSocketToInterface6(interfaceIndex uint32, blackhole bo
|
||||||
}
|
}
|
||||||
return nil
|
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")
|
|
||||||
}
|
|
||||||
|
|
|
@ -430,6 +430,12 @@ func unsafeCloseBind(device *Device) error {
|
||||||
return err
|
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 {
|
func (device *Device) BindSetMark(mark uint32) error {
|
||||||
|
|
||||||
device.net.Lock()
|
device.net.Lock()
|
||||||
|
|
Loading…
Reference in a new issue