From: Jason A. Donenfeld Date: Tue, 22 Dec 2020 13:09:16 +0000 (+0100) Subject: tun: make customization of WintunPool and requested GUID more obvious X-Git-Tag: 0.0.20210212~110 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d664444928f91c01a2c7583fdb58983c308e9b4d;p=thirdparty%2Fwireguard-go.git tun: make customization of WintunPool and requested GUID more obvious Persnickety consumers can now do: func init() { tun.WintunPool, _ = wintun.MakePool("Flurp") tun.WintunStaticRequestedGUID, _ = windows.GUIDFromString("{5ae2716f-0b3e-4dc4-a8b5-48eba11a6e16}") } Signed-off-by: Jason A. Donenfeld --- 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) } //