From 6a0a3a54067182aee4c2cb4c7ef7ac5aaf2fd961 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Fri, 24 May 2019 09:28:50 +0200 Subject: wintun: revise GetInterface() - Make foreign interface found error numeric to ease condition detection. - Update GetInterface() documentation. - Make tun.CreateTUN() quit when foreign interface found before attempting to create a Wintun interface with a duplicate name. Creation is futile. Signed-off-by: Simon Rozman --- tun/tun_windows.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tun/tun_windows.go') diff --git a/tun/tun_windows.go b/tun/tun_windows.go index c17f6d1..b352cd1 100644 --- a/tun/tun_windows.go +++ b/tun/tun_windows.go @@ -71,6 +71,8 @@ func CreateTUN(ifname string) (TUNDevice, error) { if err != nil { return nil, fmt.Errorf("Unable to delete already existing Wintun interface: %v", err) } + } else if err == windows.ERROR_ALREADY_EXISTS { + return nil, fmt.Errorf("Foreign network interface with the same name exists") } wt, _, err = wintun.CreateInterface("WireGuard Tunnel Adapter", 0) if err != nil { -- cgit v1.2.3