summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2020-12-22 14:09:16 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2021-01-07 14:49:44 +0100
commitd664444928f91c01a2c7583fdb58983c308e9b4d (patch)
tree9acc6496de3e8acbeb0e67144223dd1f11e61c4c
parent1481e72107db7b42db88047ad1faf7cb6924fb78 (diff)
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 <Jason@zx2c4.com>
-rw-r--r--tun/tun_windows.go13
1 files 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)
}
//