diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-28 22:30:35 -0600 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-30 08:47:21 -0600 |
commit | 2bbd162221e56e0312593cb05956c100f253ff98 (patch) | |
tree | 2dab80c185282b6cb9270836cef88f852afe5a40 /main.go | |
parent | elevate: use more strict check for admin group (diff) | |
download | wireguard-windows-2bbd162221e56e0312593cb05956c100f253ff98.tar.xz wireguard-windows-2bbd162221e56e0312593cb05956c100f253ff98.zip |
elevate: check for desktop admin ownership
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -80,6 +80,13 @@ func checkForAdminGroup() { } } +func checkForAdminDesktop() { + adminDesktop, err := elevate.IsAdminDesktop() + if !adminDesktop && err == nil { + fatal("WireGuard is running, but the UI is only accessible from desktops of the Builtin Administrators group.") + } +} + func execElevatedManagerServiceInstaller() error { path, err := os.Executable() if err != nil { @@ -123,8 +130,12 @@ func main() { go ui.WaitForRaiseUIThenQuit() err := manager.InstallManager() if err != nil { + if err == manager.ErrManagerAlreadyRunning { + checkForAdminDesktop() + } fatal(err) } + checkForAdminDesktop() time.Sleep(30 * time.Second) fatal("WireGuard system tray icon did not appear after 30 seconds.") return |