aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/manager
diff options
context:
space:
mode:
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"