aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tunnel/service.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-08-10 02:47:35 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2021-08-10 02:47:35 +0200
commitb60c9535b910bf8af7be7643a1edbb9ba5f773ef (patch)
tree45ee6945e606adeb11ed6c08f326ea96c326a624 /tunnel/service.go
parentversion: bump (diff)
downloadwireguard-windows-b60c9535b910bf8af7be7643a1edbb9ba5f773ef.tar.xz
wireguard-windows-b60c9535b910bf8af7be7643a1edbb9ba5f773ef.zip
tunnel: execute *down commands for wgnt
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'tunnel/service.go')
-rw-r--r--tunnel/service.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/tunnel/service.go b/tunnel/service.go
index fc3c0f07..14d03b5f 100644
--- a/tunnel/service.go
+++ b/tunnel/service.go
@@ -94,7 +94,7 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
}
}()
- if logErr == nil && dev != nil && config != nil {
+ if logErr == nil && (dev != nil || adapter != nil) && config != nil {
logErr = runScriptCommand(config.Interface.PreDown, config.Name)
}
if watcher != nil {
@@ -106,7 +106,10 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
if dev != nil {
dev.Close()
}
- if logErr == nil && dev != nil && config != nil {
+ if adapter != nil {
+ adapter.Delete()
+ }
+ if logErr == nil && (dev != nil || adapter != nil) && config != nil {
_ = runScriptCommand(config.Interface.PostDown, config.Name)
}
stopIt <- true
@@ -200,7 +203,6 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
serviceError = services.ErrorCreateNetworkAdapter
return
}
- defer adapter.Delete()
luid = adapter.LUID()
driverVersion, err := driver.RunningVersion()
if err != nil {
@@ -293,6 +295,7 @@ func (service *tunnelService) Execute(args []string, r <-chan svc.ChangeRequest,
}
}()
} else {
+ log.Println("Setting interface configuration")
err = adapter.SetConfiguration(config.ToDriverConfiguration())
if err != nil {
serviceError = services.ErrorDeviceSetConfig