tun: allow darwin to auto assign names

This commit is contained in:
Jason A. Donenfeld
2018-05-04 21:11:38 +02:00
parent 0f322f83f5
commit de7ecc571b
2 changed files with 20 additions and 10 deletions

View File

@@ -46,9 +46,11 @@ var sockaddrCtlSize uintptr = 32
func CreateTUN(name string) (TUNDevice, error) {
ifIndex := -1
fmt.Sscanf(name, "utun%d", &ifIndex)
if ifIndex < 0 {
return nil, fmt.Errorf("error parsing interface name %s, must be utun[0-9]+", name)
if (name != "utun") {
fmt.Sscanf(name, "utun%d", &ifIndex)
if ifIndex < 0 {
return nil, fmt.Errorf("Interface name must be utun[0-9]*")
}
}
fd, err := unix.Socket(unix.AF_SYSTEM, unix.SOCK_DGRAM, 2)