aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tunnel/firewall/helpers.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-05-31 13:15:53 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-05-31 13:15:53 +0200
commit7d21ebb3161e3283723db3f202e52ce5fddfdc8c (patch)
treeb7270a6f503dd9106c1d4d824230b3f09abda740 /tunnel/firewall/helpers.go
parenttunnel: logical simplification (diff)
downloadwireguard-windows-7d21ebb3161e3283723db3f202e52ce5fddfdc8c.tar.xz
wireguard-windows-7d21ebb3161e3283723db3f202e52ce5fddfdc8c.zip
firewall: use random GUIDs
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'tunnel/firewall/helpers.go')
-rw-r--r--tunnel/firewall/helpers.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/tunnel/firewall/helpers.go b/tunnel/firewall/helpers.go
index ee783c2d..79ab0d82 100644
--- a/tunnel/firewall/helpers.go
+++ b/tunnel/firewall/helpers.go
@@ -7,10 +7,12 @@ package firewall
import (
"fmt"
+ "io"
"os"
"runtime"
"syscall"
"unsafe"
+ "crypto/rand"
"golang.org/x/sys/windows"
)
@@ -135,3 +137,15 @@ func getCurrentProcessAppID() (*wtFwpByteBlob, error) {
}
return appID, nil
}
+
+func randGUID() (windows.GUID, error) {
+ guid := windows.GUID{}
+ n, err := rand.Read((*[16]byte)(unsafe.Pointer(&guid))[:])
+ if err != nil {
+ return guid, err
+ }
+ if n != 16 {
+ return guid, io.ErrShortBuffer
+ }
+ return guid, nil
+} \ No newline at end of file