From ef48d4fa957f0ae7db3e9ad51c0d443ccc410588 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Thu, 7 Feb 2019 19:42:59 +0100 Subject: wintun: Explain rationale behind case-insensitive interface names Signed-off-by: Simon Rozman --- tun/wintun/wintun_windows.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tun/wintun/wintun_windows.go') diff --git a/tun/wintun/wintun_windows.go b/tun/wintun/wintun_windows.go index b7d84fa..c1ffb17 100644 --- a/tun/wintun/wintun_windows.go +++ b/tun/wintun/wintun_windows.go @@ -52,7 +52,11 @@ func GetInterface(ifname string, hwndParent uintptr) (*Wintun, error) { return nil, err } - // TODO: If we're certain we want case-insensitive name comparison, please document the rationale. + // Windows requires each interface to have a different name. When + // enforcing this, Windows treats interface names case-insensitive. If an + // interface "FooBar" exists and this function reports there is no + // interface "foobar", an attempt to create a new interface and name it + // "foobar" would cause conflict with "FooBar". ifname = strings.ToLower(ifname) // Iterate. -- cgit v1.2.3-59-g8ed1b