diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-10-01 13:13:58 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-10-01 13:59:42 +0200 |
commit | e2adae0548c43213eae96fbf0fa90b8ad6d8d927 (patch) | |
tree | f8deaaa5431ddf6abd67255d509a67c8ddffd1e5 /elevate | |
parent | Revert "version: use crypt32 instead of go x509 for cn extraction for file size" (diff) | |
download | wireguard-windows-e2adae0548c43213eae96fbf0fa90b8ad6d8d927.tar.xz wireguard-windows-e2adae0548c43213eae96fbf0fa90b8ad6d8d927.zip |
elevate: use fallback shellexecute when not EV-signed
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'elevate')
-rw-r--r-- | elevate/shellexecute.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/elevate/shellexecute.go b/elevate/shellexecute.go index acb5b2e2..8e238f08 100644 --- a/elevate/shellexecute.go +++ b/elevate/shellexecute.go @@ -13,6 +13,8 @@ import ( "golang.org/x/sys/windows" "golang.org/x/sys/windows/registry" + + "golang.zx2c4.com/wireguard/windows/version" ) const ( @@ -45,6 +47,11 @@ func ShellExecute(program string, arguments string, directory string, show int32 } }() + if !version.IsRunningEVSigned() { + err = windows.ERROR_INSUFFICIENT_LOGON_INFO + return + } + var processToken windows.Token err = windows.OpenProcessToken(windows.CurrentProcess(), windows.TOKEN_QUERY|windows.TOKEN_DUPLICATE, &processToken) if err != nil { |