diff options
Diffstat (limited to 'manager')
-rw-r--r-- | manager/ipc_server.go | 2 | ||||
-rw-r--r-- | manager/service.go | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/manager/ipc_server.go b/manager/ipc_server.go index 337cb8b4..de97ffb1 100644 --- a/manager/ipc_server.go +++ b/manager/ipc_server.go @@ -47,7 +47,7 @@ func (s *ManagerService) StoredConfig(tunnelName string) (*conf.Config, error) { } func (s *ManagerService) RuntimeConfig(tunnelName string) (*conf.Config, error) { - if conf.AdminBool("ExperimentalKernelDriver") { + if !conf.AdminBool("UseUserspaceImplementation") { storedConfig, err := conf.LoadFromName(tunnelName) if err != nil { return nil, err diff --git a/manager/service.go b/manager/service.go index 6f0df505..1deb50a4 100644 --- a/manager/service.go +++ b/manager/service.go @@ -17,6 +17,7 @@ import ( "golang.org/x/sys/windows" "golang.org/x/sys/windows/svc" + "golang.zx2c4.com/wireguard/tun" "golang.zx2c4.com/wireguard/windows/conf" "golang.zx2c4.com/wireguard/windows/elevate" @@ -261,6 +262,11 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest } time.AfterFunc(time.Second*10, cleanupStaleNetworkInterfaces) + time.AfterFunc(time.Second*15, func() { + if !conf.AdminBool("UseUserspaceImplementation") { + tun.WintunPool.DeleteDriver() + } + }) go checkForUpdates() var sessionsPointer *windows.WTS_SESSION_INFO |