diff options
Diffstat (limited to '')
-rw-r--r-- | manager/install.go (renamed from service/install.go) | 5 | ||||
-rw-r--r-- | manager/ipc_client.go (renamed from service/ipc_client.go) | 2 | ||||
-rw-r--r-- | manager/ipc_pipe.go (renamed from service/ipc_pipe.go) | 2 | ||||
-rw-r--r-- | manager/ipc_server.go (renamed from service/ipc_server.go) | 2 | ||||
-rw-r--r-- | manager/names.go (renamed from service/names.go) | 2 | ||||
-rw-r--r-- | manager/service.go (renamed from service/service_manager.go) | 22 | ||||
-rw-r--r-- | manager/tunneltracker.go (renamed from service/tunneltracker.go) | 12 | ||||
-rw-r--r-- | manager/updatestate.go (renamed from service/updatestate.go) | 2 |
8 files changed, 27 insertions, 22 deletions
diff --git a/service/install.go b/manager/install.go index 1d977262..4a570297 100644 --- a/service/install.go +++ b/manager/install.go @@ -3,7 +3,7 @@ * Copyright (C) 2019 WireGuard LLC. All Rights Reserved. */ -package service +package manager import ( "errors" @@ -15,6 +15,7 @@ import ( "golang.org/x/sys/windows/svc/mgr" "golang.zx2c4.com/wireguard/windows/conf" + "golang.zx2c4.com/wireguard/windows/tunnel" ) var cachedServiceManager *mgr.Mgr @@ -200,5 +201,5 @@ func RunTunnel(confPath string) error { if err != nil { return err } - return svc.Run(serviceName, &tunnelService{confPath}) + return svc.Run(serviceName, &tunnel.Service{confPath}) } diff --git a/service/ipc_client.go b/manager/ipc_client.go index 268f18e9..a23493f0 100644 --- a/service/ipc_client.go +++ b/manager/ipc_client.go @@ -3,7 +3,7 @@ * Copyright (C) 2019 WireGuard LLC. All Rights Reserved. */ -package service +package manager import ( "encoding/gob" diff --git a/service/ipc_pipe.go b/manager/ipc_pipe.go index ecf24716..657a6275 100644 --- a/service/ipc_pipe.go +++ b/manager/ipc_pipe.go @@ -3,7 +3,7 @@ * Copyright (C) 2019 WireGuard LLC. All Rights Reserved. */ -package service +package manager import ( "os" diff --git a/service/ipc_server.go b/manager/ipc_server.go index 766f4178..0accb4d3 100644 --- a/service/ipc_server.go +++ b/manager/ipc_server.go @@ -3,7 +3,7 @@ * Copyright (C) 2019 WireGuard LLC. All Rights Reserved. */ -package service +package manager import ( "bytes" diff --git a/service/names.go b/manager/names.go index e93ed66f..bebf0cae 100644 --- a/service/names.go +++ b/manager/names.go @@ -3,7 +3,7 @@ * Copyright (C) 2019 WireGuard LLC. All Rights Reserved. */ -package service +package manager import ( "errors" diff --git a/service/service_manager.go b/manager/service.go index 5bd94e0e..ba7208d8 100644 --- a/service/service_manager.go +++ b/manager/service.go @@ -3,7 +3,7 @@ * Copyright (C) 2019 WireGuard LLC. All Rights Reserved. */ -package service +package manager import ( "errors" @@ -20,8 +20,10 @@ import ( "golang.org/x/sys/windows" "golang.org/x/sys/windows/svc" + "golang.zx2c4.com/wireguard/windows/conf" "golang.zx2c4.com/wireguard/windows/ringlogger" + "golang.zx2c4.com/wireguard/windows/services" "golang.zx2c4.com/wireguard/windows/version" ) @@ -31,11 +33,11 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest changes <- svc.Status{State: svc.StartPending} var err error - serviceError := ErrorSuccess + serviceError := services.ErrorSuccess defer func() { - svcSpecificEC, exitCode = determineErrorCode(err, serviceError) - logErr := combineErrors(err, serviceError) + svcSpecificEC, exitCode = services.DetermineErrorCode(err, serviceError) + logErr := services.CombineErrors(err, serviceError) if logErr != nil { log.Print(logErr) } @@ -44,7 +46,7 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest err = ringlogger.InitGlobalLogger("MGR") if err != nil { - serviceError = ErrorRingloggerOpen + serviceError = services.ErrorRingloggerOpen return } defer func() { @@ -62,19 +64,19 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest path, err := os.Executable() if err != nil { - serviceError = ErrorDetermineExecutablePath + serviceError = services.ErrorDetermineExecutablePath return } devNull, err := os.OpenFile(os.DevNull, os.O_RDWR, 0) if err != nil { - serviceError = ErrorOpenNULFile + serviceError = services.ErrorOpenNULFile return } err = trackExistingTunnels() if err != nil { - serviceError = ErrorTrackTunnels + serviceError = services.ErrorTrackTunnels return } @@ -100,7 +102,7 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest if err != nil { return } - if !TokenIsMemberOfBuiltInAdministrator(userToken) { + if !services.TokenIsMemberOfBuiltInAdministrator(userToken) { userToken.Close() return } @@ -240,7 +242,7 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest var count uint32 err = windows.WTSEnumerateSessions(0, 0, 1, &sessionsPointer, &count) if err != nil { - serviceError = ErrorEnumerateSessions + serviceError = services.ErrorEnumerateSessions return } sessions := *(*[]windows.WTS_SESSION_INFO)(unsafe.Pointer(&struct { diff --git a/service/tunneltracker.go b/manager/tunneltracker.go index 4c61925a..1cde98e2 100644 --- a/service/tunneltracker.go +++ b/manager/tunneltracker.go @@ -3,7 +3,7 @@ * Copyright (C) 2019 WireGuard LLC. All Rights Reserved. */ -package service +package manager import ( "fmt" @@ -16,7 +16,9 @@ import ( "golang.org/x/sys/windows" "golang.org/x/sys/windows/svc" "golang.org/x/sys/windows/svc/mgr" + "golang.zx2c4.com/wireguard/windows/conf" + "golang.zx2c4.com/wireguard/windows/services" ) func trackExistingTunnels() error { @@ -83,7 +85,7 @@ func trackedTunnelsGlobalState() (state TunnelState) { func trackTunnelService(tunnelName string, service *mgr.Service) { defer func() { service.Close() - log.Printf("[%s] Tunnel service tracker finished", tunnelName) + log.Printf("[%s] Tunnel managerService tracker finished", tunnelName) }() trackedTunnelsLock.Lock() @@ -148,7 +150,7 @@ func trackTunnelService(tunnelName string, service *mgr.Service) { trackedTunnelsLock.Lock() trackedTunnels[tunnelName] = TunnelStopped trackedTunnelsLock.Unlock() - IPCServerNotifyTunnelChange(tunnelName, TunnelStopped, fmt.Errorf("Unable to continue monitoring service, so stopping: %v", err)) + IPCServerNotifyTunnelChange(tunnelName, TunnelStopped, fmt.Errorf("Unable to continue monitoring managerService, so stopping: %v", err)) service.Control(svc.Stop) return } @@ -157,8 +159,8 @@ func trackTunnelService(tunnelName string, service *mgr.Service) { var tunnelError error if state == TunnelStopped { if notifier.ServiceStatus.Win32ExitCode == uint32(windows.ERROR_SERVICE_SPECIFIC_ERROR) { - maybeErr := Error(notifier.ServiceStatus.ServiceSpecificExitCode) - if maybeErr != ErrorSuccess { + maybeErr := services.Error(notifier.ServiceStatus.ServiceSpecificExitCode) + if maybeErr != services.ErrorSuccess { tunnelError = maybeErr } } else { diff --git a/service/updatestate.go b/manager/updatestate.go index 4d9330ff..2e82baf8 100644 --- a/service/updatestate.go +++ b/manager/updatestate.go @@ -3,7 +3,7 @@ * Copyright (C) 2019 WireGuard LLC. All Rights Reserved. */ -package service +package manager import ( "log" |