aboutsummaryrefslogtreecommitdiffstats
path: root/wireguard-go-bridge/src/tun
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-02-27 06:24:56 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2019-02-27 06:24:56 +0100
commitb1dabf5a00a8400238ef261d31e048aa794be106 (patch)
treec0deabec4f7654f84a78c3b76c967850998afd65 /wireguard-go-bridge/src/tun
parentImporting: macOS: Support importing of multiple files at a time (diff)
downloadwireguard-apple-b1dabf5a00a8400238ef261d31e048aa794be106.tar.xz
wireguard-apple-b1dabf5a00a8400238ef261d31e048aa794be106.zip
wireguard-go-bridge: update to Go 1.12
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'wireguard-go-bridge/src/tun')
-rw-r--r--wireguard-go-bridge/src/tun/api-ios.go14
1 files changed, 4 insertions, 10 deletions
diff --git a/wireguard-go-bridge/src/tun/api-ios.go b/wireguard-go-bridge/src/tun/api-ios.go
index 0d542cf..8d3413e 100644
--- a/wireguard-go-bridge/src/tun/api-ios.go
+++ b/wireguard-go-bridge/src/tun/api-ios.go
@@ -6,28 +6,24 @@
package tun
import (
- "git.zx2c4.com/wireguard-go/rwcancel"
"golang.org/x/sys/unix"
"net"
"os"
)
func CreateTUNFromFD(tunFd int) (TUNDevice, string, error) {
+ err := unix.SetNonblock(tunFd, true)
+ if err != nil {
+ return nil, "", err
+ }
file := os.NewFile(uintptr(tunFd), "/dev/tun")
tun := &nativeTun{
tunFile: file,
- fd: file.Fd(),
events: make(chan TUNEvent, 5),
errors: make(chan error, 5),
}
- var err error
- tun.rwcancel, err = rwcancel.NewRWCancel(tunFd)
- if err != nil {
- return nil, "", err
- }
name, err := tun.Name()
if err != nil {
- tun.rwcancel.Cancel()
return nil, "", err
}
tunIfindex, err := func() (int, error) {
@@ -38,12 +34,10 @@ func CreateTUNFromFD(tunFd int) (TUNDevice, string, error) {
return iface.Index, nil
}()
if err != nil {
- tun.tunFile.Close()
return nil, "", err
}
tun.routeSocket, err = unix.Socket(unix.AF_ROUTE, unix.SOCK_RAW, unix.AF_UNSPEC)
if err != nil {
- tun.tunFile.Close()
return nil, "", err
}
go tun.routineRouteListener(tunIfindex)