aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/service/service_tunnel.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-04-29 13:30:28 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-04-29 13:44:04 +0200
commitfe1f44fc37c6442617d02010077292d9537e5b3b (patch)
tree86c554d239919013446eb101309f6488535766a3 /service/service_tunnel.go
parentupdater: use /qb instead of /quiet (diff)
downloadwireguard-windows-fe1f44fc37c6442617d02010077292d9537e5b3b.tar.xz
wireguard-windows-fe1f44fc37c6442617d02010077292d9537e5b3b.zip
service: improve state transitions
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'service/service_tunnel.go')
-rw-r--r--service/service_tunnel.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/service/service_tunnel.go b/service/service_tunnel.go
index dd681a33..12977d26 100644
--- a/service/service_tunnel.go
+++ b/service/service_tunnel.go
@@ -82,6 +82,12 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
logger.Info.Println("Starting wireguard-go version", device.WireGuardGoVersion)
logger.Debug.Println("Debug log enabled")
+ uapiConf, err := conf.ToUAPI()
+ if err != nil {
+ serviceError = ErrorDNSLookup
+ return
+ }
+
wintun, err := tun.CreateTUN(conf.Name)
if err != nil {
serviceError = ErrorCreateWintun
@@ -115,11 +121,6 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
}()
logger.Info.Println("UAPI listener started")
- uapiConf, err := conf.ToUAPI()
- if err != nil {
- serviceError = ErrorDNSLookup
- return
- }
ipcErr := dev.IpcSetOperation(bufio.NewReader(strings.NewReader(uapiConf)))
if ipcErr != nil {
err = ipcErr