From ac898bb35afde34a383f72726c2818d082933e8d Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 4 May 2018 21:20:19 +0200 Subject: [PATCH] tun: print automatically assigned interface name to stdout This way scripts know what process they just started. --- tun_darwin.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tun_darwin.go b/tun_darwin.go index 4d9b06d..5514563 100644 --- a/tun_darwin.go +++ b/tun_darwin.go @@ -98,7 +98,13 @@ func CreateTUN(name string) (TUNDevice, error) { return nil, fmt.Errorf("SYS_CONNECT: %v", errno) } - return CreateTUNFromFile(os.NewFile(uintptr(fd), "")) + tun, err := CreateTUNFromFile(os.NewFile(uintptr(fd), "")) + + if err == nil && name == "utun" { + fmt.Printf("OS assigned interface: %s\n", tun.(*NativeTun).name) + } + + return tun, err } func CreateTUNFromFile(file *os.File) (TUNDevice, error) {