]> git.ipfire.org Git - thirdparty/wireguard-go.git/commitdiff
wintun: enable sharing of pnp node
authorJason A. Donenfeld <Jason@zx2c4.com>
Mon, 22 Jul 2019 15:01:27 +0000 (17:01 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Mon, 22 Jul 2019 15:01:27 +0000 (17:01 +0200)
tun/wintun/wintun_windows.go

index 88d565dc7b1485c6f915163ad2e43f100be1c401..9be2b17ec4d8adc03a7da42b4eb401f8ca128c20 100644 (file)
@@ -626,7 +626,7 @@ func (wintun *Wintun) AdapterHandle() (windows.Handle, error) {
                return windows.InvalidHandle, fmt.Errorf("PnPInstanceId registry key read failed: %v", err)
        }
        mangledPnpNode := strings.ReplaceAll(fmt.Sprintf("%s\\{cac88484-7515-4c03-82e6-71a87abac361}", pnpInstanceID), "\\", "#")
-       handle, err := windows.CreateFile(windows.StringToUTF16Ptr(fmt.Sprintf("\\\\.\\Global\\%s", mangledPnpNode)), windows.GENERIC_READ|windows.GENERIC_WRITE, 0, nil, windows.OPEN_EXISTING, 0, 0)
+       handle, err := windows.CreateFile(windows.StringToUTF16Ptr(fmt.Sprintf("\\\\.\\Global\\%s", mangledPnpNode)), windows.GENERIC_READ|windows.GENERIC_WRITE, windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE | windows.FILE_SHARE_DELETE, nil, windows.OPEN_EXISTING, 0, 0)
        if err != nil {
                return windows.InvalidHandle, fmt.Errorf("CreateFile on mangled PnPInstanceId path failed: %v", err)
        }