From 931c5eb3637441929634ddbe608acf94b293175e Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 28 Aug 2019 22:30:35 -0600 Subject: elevate: check for desktop admin ownership Signed-off-by: Jason A. Donenfeld --- main.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'main.go') diff --git a/main.go b/main.go index e7070335..ef14afde 100644 --- a/main.go +++ b/main.go @@ -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 -- cgit v1.2.3-59-g8ed1b