aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tunnel
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-05-20 14:18:01 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-05-20 14:18:01 +0200
commitcdb8c53cdea8d8ac6e6f2112e4a5e844bffd01a4 (patch)
treedb88ec568dfc508da863e67164de909448c66742 /tunnel
parentservice: move route monitor and account for changing index (diff)
downloadwireguard-windows-cdb8c53cdea8d8ac6e6f2112e4a5e844bffd01a4.tar.xz
wireguard-windows-cdb8c53cdea8d8ac6e6f2112e4a5e844bffd01a4.zip
service: split into tunnel and manager
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r--tunnel/defaultroutemonitor.go (renamed from service/defaultroutemonitor.go)2
-rw-r--r--tunnel/firewall/blocker.go (renamed from service/firewall/blocker.go)0
-rw-r--r--tunnel/firewall/helpers.go (renamed from service/firewall/helpers.go)0
-rw-r--r--tunnel/firewall/mksyscall.go (renamed from service/firewall/mksyscall.go)0
-rw-r--r--tunnel/firewall/rules.go (renamed from service/firewall/rules.go)0
-rw-r--r--tunnel/firewall/syscall_windows.go (renamed from service/firewall/syscall_windows.go)0
-rw-r--r--tunnel/firewall/types_windows.go (renamed from service/firewall/types_windows.go)0
-rw-r--r--tunnel/firewall/types_windows_386.go (renamed from service/firewall/types_windows_386.go)0
-rw-r--r--tunnel/firewall/types_windows_amd64.go (renamed from service/firewall/types_windows_amd64.go)0
-rw-r--r--tunnel/firewall/types_windows_test.go (renamed from service/firewall/types_windows_test.go)0
-rw-r--r--tunnel/firewall/zsyscall_windows.go (renamed from service/firewall/zsyscall_windows.go)0
-rw-r--r--tunnel/ifaceconfig.go (renamed from service/ifaceconfig.go)4
-rw-r--r--tunnel/service.go (renamed from service/service_tunnel.go)42
13 files changed, 25 insertions, 23 deletions
diff --git a/service/defaultroutemonitor.go b/tunnel/defaultroutemonitor.go
index d4105447..1ffce5fa 100644
--- a/service/defaultroutemonitor.go
+++ b/tunnel/defaultroutemonitor.go
@@ -3,7 +3,7 @@
* Copyright (C) 2019 WireGuard LLC. All Rights Reserved.
*/
-package service
+package tunnel
import (
"log"
diff --git a/service/firewall/blocker.go b/tunnel/firewall/blocker.go
index 8034935d..8034935d 100644
--- a/service/firewall/blocker.go
+++ b/tunnel/firewall/blocker.go
diff --git a/service/firewall/helpers.go b/tunnel/firewall/helpers.go
index e340b802..e340b802 100644
--- a/service/firewall/helpers.go
+++ b/tunnel/firewall/helpers.go
diff --git a/service/firewall/mksyscall.go b/tunnel/firewall/mksyscall.go
index 5e4bcaa0..5e4bcaa0 100644
--- a/service/firewall/mksyscall.go
+++ b/tunnel/firewall/mksyscall.go
diff --git a/service/firewall/rules.go b/tunnel/firewall/rules.go
index 76e2a85b..76e2a85b 100644
--- a/service/firewall/rules.go
+++ b/tunnel/firewall/rules.go
diff --git a/service/firewall/syscall_windows.go b/tunnel/firewall/syscall_windows.go
index 5ec41b0b..5ec41b0b 100644
--- a/service/firewall/syscall_windows.go
+++ b/tunnel/firewall/syscall_windows.go
diff --git a/service/firewall/types_windows.go b/tunnel/firewall/types_windows.go
index e06f7d2b..e06f7d2b 100644
--- a/service/firewall/types_windows.go
+++ b/tunnel/firewall/types_windows.go
diff --git a/service/firewall/types_windows_386.go b/tunnel/firewall/types_windows_386.go
index 00d7ba8f..00d7ba8f 100644
--- a/service/firewall/types_windows_386.go
+++ b/tunnel/firewall/types_windows_386.go
diff --git a/service/firewall/types_windows_amd64.go b/tunnel/firewall/types_windows_amd64.go
index f0aa557c..f0aa557c 100644
--- a/service/firewall/types_windows_amd64.go
+++ b/tunnel/firewall/types_windows_amd64.go
diff --git a/service/firewall/types_windows_test.go b/tunnel/firewall/types_windows_test.go
index 97cb032c..97cb032c 100644
--- a/service/firewall/types_windows_test.go
+++ b/tunnel/firewall/types_windows_test.go
diff --git a/service/firewall/zsyscall_windows.go b/tunnel/firewall/zsyscall_windows.go
index 15e72703..15e72703 100644
--- a/service/firewall/zsyscall_windows.go
+++ b/tunnel/firewall/zsyscall_windows.go
diff --git a/service/ifaceconfig.go b/tunnel/ifaceconfig.go
index 7d8b2f76..453d4ca5 100644
--- a/service/ifaceconfig.go
+++ b/tunnel/ifaceconfig.go
@@ -3,7 +3,7 @@
* Copyright (C) 2019 WireGuard LLC. All Rights Reserved.
*/
-package service
+package tunnel
import (
"bytes"
@@ -16,7 +16,7 @@ import (
"golang.zx2c4.com/wireguard/tun"
"golang.zx2c4.com/wireguard/windows/conf"
- "golang.zx2c4.com/wireguard/windows/service/firewall"
+ "golang.zx2c4.com/wireguard/windows/tunnel/firewall"
)
func cleanupAddressesOnDisconnectedInterfaces(addresses []*net.IPNet) {
diff --git a/service/service_tunnel.go b/tunnel/service.go
index 2a82a2f2..e93a2c40 100644
--- a/service/service_tunnel.go
+++ b/tunnel/service.go
@@ -3,7 +3,7 @@
* Copyright (C) 2017-2019 WireGuard LLC. All Rights Reserved.
*/
-package service
+package tunnel
import (
"bufio"
@@ -22,27 +22,29 @@ import (
"golang.zx2c4.com/wireguard/device"
"golang.zx2c4.com/wireguard/ipc"
"golang.zx2c4.com/wireguard/tun"
+
"golang.zx2c4.com/wireguard/windows/conf"
"golang.zx2c4.com/wireguard/windows/ringlogger"
+ "golang.zx2c4.com/wireguard/windows/services"
"golang.zx2c4.com/wireguard/windows/version"
)
-type tunnelService struct {
- path string
+type Service struct {
+ Path string
}
-func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest, changes chan<- svc.Status) (svcSpecificEC bool, exitCode uint32) {
+func (service *Service) Execute(args []string, r <-chan svc.ChangeRequest, changes chan<- svc.Status) (svcSpecificEC bool, exitCode uint32) {
changes <- svc.Status{State: svc.StartPending}
var dev *device.Device
var uapi net.Listener
var routeChangeCallback *winipcfg.RouteChangeCallback
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.Println(logErr)
}
@@ -95,7 +97,7 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
err = ringlogger.InitGlobalLogger("TUN")
if err != nil {
- serviceError = ErrorRingloggerOpen
+ serviceError = services.ErrorRingloggerOpen
return
}
defer func() {
@@ -109,9 +111,9 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
}
}()
- conf, err := conf.LoadFromPath(service.path)
+ conf, err := conf.LoadFromPath(service.Path)
if err != nil {
- serviceError = ErrorLoadConfiguration
+ serviceError = services.ErrorLoadConfiguration
return
}
@@ -123,20 +125,20 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
log.Println("Resolving DNS names")
uapiConf, err := conf.ToUAPI()
if err != nil {
- serviceError = ErrorDNSLookup
+ serviceError = services.ErrorDNSLookup
return
}
log.Println("Creating Wintun device")
wintun, err := tun.CreateTUN(conf.Name)
if err != nil {
- serviceError = ErrorCreateWintun
+ serviceError = services.ErrorCreateWintun
return
}
log.Println("Determining Wintun device name")
realInterfaceName, err := wintun.Name()
if err != nil {
- serviceError = ErrorDetermineWintunName
+ serviceError = services.ErrorDetermineWintunName
return
}
conf.Name = realInterfaceName
@@ -145,14 +147,14 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
log.Println("Enabling firewall rules")
err = enableFirewall(conf, nativeTun)
if err != nil {
- serviceError = ErrorFirewall
+ serviceError = services.ErrorFirewall
return
}
log.Println("Dropping all privileges")
- err = DropAllPrivileges()
+ err = services.DropAllPrivileges()
if err != nil {
- serviceError = ErrorDropPrivileges
+ serviceError = services.ErrorDropPrivileges
return
}
@@ -164,13 +166,13 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
log.Println("Setting interface configuration")
uapi, err = ipc.UAPIListen(conf.Name)
if err != nil {
- serviceError = ErrorUAPIListen
+ serviceError = services.ErrorUAPIListen
return
}
ipcErr := dev.IpcSetOperation(bufio.NewReader(strings.NewReader(uapiConf)))
if ipcErr != nil {
err = ipcErr
- serviceError = ErrorDeviceSetConfig
+ serviceError = services.ErrorDeviceSetConfig
return
}
@@ -180,14 +182,14 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
log.Println("Monitoring default routes")
routeChangeCallback, err = monitorDefaultRoutes(dev, conf.Interface.MTU == 0, nativeTun)
if err != nil {
- serviceError = ErrorBindSocketsToDefaultRoutes
+ serviceError = services.ErrorBindSocketsToDefaultRoutes
return
}
log.Println("Setting device address")
err = configureInterface(conf, nativeTun)
if err != nil {
- serviceError = ErrorSetNetConfig
+ serviceError = services.ErrorSetNetConfig
return
}