diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-29 08:01:29 -0600 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-30 08:47:21 -0600 |
commit | cc5131d878baef6f0c1f163eb7adac9c9ed0eb40 (patch) | |
tree | be3803defebd68142ad7ee1be525bff1568e988b /tunnel/winipcfg | |
parent | ui: add label mnemonics (diff) | |
download | wireguard-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')
-rw-r--r-- | tunnel/winipcfg/winipcfg_test.go | 25 |
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 } |