aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tunnel/winipcfg/winipcfg_test.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-08-29 08:01:29 -0600
committerJason A. Donenfeld <Jason@zx2c4.com>2019-08-30 08:47:21 -0600
commitcc5131d878baef6f0c1f163eb7adac9c9ed0eb40 (patch)
treebe3803defebd68142ad7ee1be525bff1568e988b /tunnel/winipcfg/winipcfg_test.go
parentui: add label mnemonics (diff)
downloadwireguard-windows-cc5131d878baef6f0c1f163eb7adac9c9ed0eb40.tar.xz
wireguard-windows-cc5131d878baef6f0c1f163eb7adac9c9ed0eb40.zip
winipcfg: use upstream helper function for elevation test
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'tunnel/winipcfg/winipcfg_test.go')
-rw-r--r--tunnel/winipcfg/winipcfg_test.go25
1 files changed, 9 insertions, 16 deletions
diff --git a/tunnel/winipcfg/winipcfg_test.go b/tunnel/winipcfg/winipcfg_test.go
index 829d2675..36ef2849 100644
--- a/tunnel/winipcfg/winipcfg_test.go
+++ b/tunnel/winipcfg/winipcfg_test.go
@@ -27,7 +27,6 @@ import (
"strings"
"testing"
"time"
- "unsafe"
"golang.org/x/sys/windows"
)
@@ -56,19 +55,13 @@ var (
}
)
-func runningAsAdmin() bool {
+func runningElevated() bool {
process, err := windows.OpenCurrentProcessToken()
if err != nil {
return false
}
defer process.Close()
- var isElevated uint32
- var outLen uint32
- err = windows.GetTokenInformation(process, windows.TokenElevation, (*byte)(unsafe.Pointer(&isElevated)), uint32(unsafe.Sizeof(isElevated)), &outLen)
- if err != nil {
- return false
- }
- return outLen == uint32(unsafe.Sizeof(isElevated)) && isElevated != 0
+ return process.IsElevated()
}
func getTestInterface() (*IPAdapterAddresses, error) {
@@ -198,7 +191,7 @@ func TestIPChangeMetric(t *testing.T) {
t.Errorf("getTestIPInterface() returned an error: %v", err)
return
}
- if !runningAsAdmin() {
+ if !runningElevated() {
t.Errorf("%s requires elevation", t.Name())
return
}
@@ -288,7 +281,7 @@ func TestIPChangeMTU(t *testing.T) {
t.Errorf("getTestIPInterface() returned an error: %v", err)
return
}
- if !runningAsAdmin() {
+ if !runningElevated() {
t.Errorf("%s requires elevation", t.Name())
return
}
@@ -380,7 +373,7 @@ func TestAddDeleteIPAddress(t *testing.T) {
t.Errorf("getTestInterface() returned an error: %v", err)
return
}
- if !runningAsAdmin() {
+ if !runningElevated() {
t.Errorf("%s requires elevation", t.Name())
return
}
@@ -494,7 +487,7 @@ func TestAddDeleteRoute(t *testing.T) {
t.Errorf("getTestInterface() returned an error: %v", err)
return
}
- if !runningAsAdmin() {
+ if !runningElevated() {
t.Errorf("%s requires elevation", t.Name())
return
}
@@ -588,7 +581,7 @@ func TestFlushDNS(t *testing.T) {
t.Errorf("getTestInterface() returned an error: %v", err)
return
}
- if !runningAsAdmin() {
+ if !runningElevated() {
t.Errorf("%s requires elevation", t.Name())
return
}
@@ -631,7 +624,7 @@ func TestAddDNS(t *testing.T) {
t.Errorf("getTestInterface() returned an error: %v", err)
return
}
- if !runningAsAdmin() {
+ if !runningElevated() {
t.Errorf("%s requires elevation", t.Name())
return
}
@@ -675,7 +668,7 @@ func TestSetDNS(t *testing.T) {
t.Errorf("getTestInterface() returned an error: %v", err)
return
}
- if !runningAsAdmin() {
+ if !runningElevated() {
t.Errorf("%s requires elevation", t.Name())
return
}