aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--service/errors.go8
-rw-r--r--service/install.go12
-rw-r--r--service/ipc_server.go6
-rw-r--r--service/tunneltracker.go4
4 files changed, 12 insertions, 18 deletions
diff --git a/service/errors.go b/service/errors.go
index b76ef656..e71f0d71 100644
--- a/service/errors.go
+++ b/service/errors.go
@@ -94,10 +94,4 @@ func combineErrors(err error, serviceError Error) error {
}
}
return err
-}
-
-const (
- serviceDOES_NOT_EXIST uint32 = 0x00000424
- serviceMARKED_FOR_DELETE uint32 = 0x00000430
- serviceNEVER_STARTED uint32 = 0x00000435
-)
+} \ No newline at end of file
diff --git a/service/install.go b/service/install.go
index a989ac0e..1d977262 100644
--- a/service/install.go
+++ b/service/install.go
@@ -8,12 +8,12 @@ package service
import (
"errors"
"os"
- "syscall"
"time"
"golang.org/x/sys/windows"
"golang.org/x/sys/windows/svc"
"golang.org/x/sys/windows/svc/mgr"
+
"golang.zx2c4.com/wireguard/windows/conf"
)
@@ -130,22 +130,22 @@ func InstallTunnel(configPath string) error {
service, err := m.OpenService(serviceName)
if err == nil {
status, err := service.Query()
- if err != nil && err != syscall.Errno(serviceMARKED_FOR_DELETE) {
+ if err != nil && err != windows.ERROR_SERVICE_MARKED_FOR_DELETE {
service.Close()
return err
}
- if status.State != svc.Stopped && err != syscall.Errno(serviceMARKED_FOR_DELETE) {
+ if status.State != svc.Stopped && err != windows.ERROR_SERVICE_MARKED_FOR_DELETE {
service.Close()
return errors.New("Tunnel already installed and running")
}
err = service.Delete()
service.Close()
- if err != nil && err != syscall.Errno(serviceMARKED_FOR_DELETE) {
+ if err != nil && err != windows.ERROR_SERVICE_MARKED_FOR_DELETE {
return err
}
for {
service, err = m.OpenService(serviceName)
- if err != nil && err != syscall.Errno(serviceMARKED_FOR_DELETE) {
+ if err != nil && err != windows.ERROR_SERVICE_MARKED_FOR_DELETE {
break
}
service.Close()
@@ -185,7 +185,7 @@ func UninstallTunnel(name string) error {
service.Control(svc.Stop)
err = service.Delete()
err2 := service.Close()
- if err != nil && err != syscall.Errno(serviceMARKED_FOR_DELETE) {
+ if err != nil && err != windows.ERROR_SERVICE_MARKED_FOR_DELETE {
return err
}
return err2
diff --git a/service/ipc_server.go b/service/ipc_server.go
index 9d9f7d99..766f4178 100644
--- a/service/ipc_server.go
+++ b/service/ipc_server.go
@@ -15,12 +15,12 @@ import (
"os"
"sync"
"sync/atomic"
- "syscall"
"time"
"github.com/Microsoft/go-winio"
"golang.org/x/sys/windows"
"golang.org/x/sys/windows/svc"
+
"golang.zx2c4.com/wireguard/windows/conf"
"golang.zx2c4.com/wireguard/windows/updater"
)
@@ -121,7 +121,7 @@ func (s *ManagerService) Start(tunnelName string, unused *uintptr) error {
func (s *ManagerService) Stop(tunnelName string, _ *uintptr) error {
err := UninstallTunnel(tunnelName)
- if err == syscall.Errno(serviceDOES_NOT_EXIST) {
+ if err == windows.ERROR_SERVICE_DOES_NOT_EXIST {
_, notExistsError := conf.LoadFromName(tunnelName)
if notExistsError == nil {
return nil
@@ -141,7 +141,7 @@ func (s *ManagerService) WaitForStop(tunnelName string, _ *uintptr) error {
}
for {
service, err := m.OpenService(serviceName)
- if err == nil || err == syscall.Errno(serviceMARKED_FOR_DELETE) {
+ if err == nil || err == windows.ERROR_SERVICE_MARKED_FOR_DELETE {
service.Close()
time.Sleep(time.Second / 3)
} else {
diff --git a/service/tunneltracker.go b/service/tunneltracker.go
index 9e413c22..4c61925a 100644
--- a/service/tunneltracker.go
+++ b/service/tunneltracker.go
@@ -107,7 +107,7 @@ func trackTunnelService(tunnelName string, service *mgr.Service) {
checkForDisabled := func() (shouldReturn bool) {
config, err := service.Config()
- if err == syscall.Errno(serviceMARKED_FOR_DELETE) || config.StartType == windows.SERVICE_DISABLED {
+ if err == windows.ERROR_SERVICE_MARKED_FOR_DELETE || config.StartType == windows.SERVICE_DISABLED {
log.Printf("[%s] Found disabled service via timeout, so deleting", tunnelName)
service.Delete()
trackedTunnelsLock.Lock()
@@ -163,7 +163,7 @@ func trackTunnelService(tunnelName string, service *mgr.Service) {
}
} else {
switch notifier.ServiceStatus.Win32ExitCode {
- case uint32(windows.NO_ERROR), serviceNEVER_STARTED:
+ case uint32(windows.NO_ERROR), uint32(windows.ERROR_SERVICE_NEVER_STARTED):
default:
tunnelError = syscall.Errno(notifier.ServiceStatus.Win32ExitCode)
}