Print utun name on darwin

This commit is contained in:
Jason A. Donenfeld 2018-05-14 19:23:44 +02:00
parent 7a1a537f43
commit 28c7eb4335
2 changed files with 6 additions and 2 deletions

View file

@ -184,7 +184,7 @@ func (node *trieEntry) entriesForPeer(p *Peer, results []net.IPNet) []net.IPNet
mask := net.CIDRMask(int(node.cidr), len(node.bits)*8)
results = append(results, net.IPNet{
Mask: mask,
IP: node.bits.Mask(mask),
IP: node.bits.Mask(mask),
})
}
results = node.child[0].entriesForPeer(p, results)

View file

@ -12,6 +12,7 @@ import (
"fmt"
"golang.org/x/net/ipv6"
"golang.org/x/sys/unix"
"io/ioutil"
"net"
"os"
"time"
@ -104,7 +105,10 @@ func CreateTUN(name string) (TUNDevice, error) {
tun, err := CreateTUNFromFile(os.NewFile(uintptr(fd), ""))
if err == nil && name == "utun" {
fmt.Printf("OS assigned interface: %s\n", tun.(*NativeTun).name)
fname := os.Getenv("WG_DARWIN_UTUN_NAME_FILE")
if fname != "" {
ioutil.WriteFile(fname, []byte(tun.(*NativeTun).name+"\n"), 0400)
}
}
return tun, err