From c27bf0bf4b5ade08c6c8b6ff679c2ec97b0186e0 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 22 Dec 2020 14:09:16 +0100 Subject: [PATCH] tun: make customization of WintunPool and WintunGUID more obvious Persnickety consumers can now do: func init() { tun.WintunPool, _ = wintun.Pool("Flurp") tun.WintunStaticRequestedGUID, _ = windows.GUIDFromString("{5ae2716f-0b3e-4dc4-a8b5-48eba11a6e16}") } Signed-off-by: Jason A. Donenfeld --- tun/tun_windows.go | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/tun/tun_windows.go b/tun/tun_windows.go index 238bee0..e66ae8e 100644 --- a/tun/tun_windows.go +++ b/tun/tun_windows.go @@ -44,15 +44,8 @@ type NativeTun struct { readWait windows.Handle } -var WintunPool *wintun.Pool - -func init() { - var err error - WintunPool, err = wintun.MakePool("WireGuard") - if err != nil { - panic(fmt.Errorf("Failed to make pool: %w", err)) - } -} +var WintunPool, _ = wintun.MakePool("WireGuard") +var WintunStaticRequestedGUID *windows.GUID //go:linkname procyield runtime.procyield func procyield(cycles uint32) @@ -65,7 +58,7 @@ func nanotime() int64 // interface with the same name exist, it is reused. // func CreateTUN(ifname string, mtu int) (Device, error) { - return CreateTUNWithRequestedGUID(ifname, nil, mtu) + return CreateTUNWithRequestedGUID(ifname, WintunStaticRequestedGUID, mtu) } //