aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tunnel/service.go
diff options
context:
space:
mode:
Diffstat (limited to 'tunnel/service.go')
-rw-r--r--tunnel/service.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/tunnel/service.go b/tunnel/service.go
index e93a2c40..ef947ba5 100644
--- a/tunnel/service.go
+++ b/tunnel/service.go
@@ -39,6 +39,7 @@ func (service *Service) Execute(args []string, r <-chan svc.ChangeRequest, chang
var dev *device.Device
var uapi net.Listener
var routeChangeCallback *winipcfg.RouteChangeCallback
+ var nativeTun *tun.NativeTun
var err error
serviceError := services.ErrorSuccess
@@ -85,6 +86,9 @@ func (service *Service) Execute(args []string, r <-chan svc.ChangeRequest, chang
if routeChangeCallback != nil {
routeChangeCallback.Unregister()
}
+ if nativeTun != nil {
+ unconfigureInterface(nativeTun)
+ }
if uapi != nil {
uapi.Close()
}
@@ -142,7 +146,7 @@ func (service *Service) Execute(args []string, r <-chan svc.ChangeRequest, chang
return
}
conf.Name = realInterfaceName
- nativeTun := wintun.(*tun.NativeTun)
+ nativeTun = wintun.(*tun.NativeTun)
log.Println("Enabling firewall rules")
err = enableFirewall(conf, nativeTun)