From: Simon Rozman Date: Thu, 7 Feb 2019 18:42:59 +0000 (+0100) Subject: wintun: Explain rationale behind case-insensitive interface names X-Git-Tag: 0.0.20190409~77 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef48d4fa957f0ae7db3e9ad51c0d443ccc410588;p=thirdparty%2Fwireguard-go.git wintun: Explain rationale behind case-insensitive interface names Signed-off-by: Simon Rozman --- 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.