]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
TunnelsManager: Don't lose .restarting state
authorRoopesh Chander <roop@roopc.net>
Thu, 7 Feb 2019 18:47:05 +0000 (00:17 +0530)
committerRoopesh Chander <roop@roopc.net>
Thu, 7 Feb 2019 21:04:30 +0000 (02:34 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/Tunnel/TunnelsManager.swift

index cd120a527caf0711104211b3264d6f34d555f7c3..e5b59841920c9dca8810f837014956d810e03c58 100644 (file)
@@ -336,10 +336,8 @@ class TunnelsManager {
                 }
             }
 
-            if (tunnel.status == .restarting) && (session.status == .disconnected || session.status == .disconnecting) {
-                if session.status == .disconnected {
-                    tunnel.startActivation(activationDelegate: self.activationDelegate)
-                }
+            if tunnel.status == .restarting && session.status == .disconnected {
+                tunnel.startActivation(activationDelegate: self.activationDelegate)
                 return
             }
 
@@ -442,6 +440,9 @@ class TunnelContainer: NSObject {
     }
 
     func refreshStatus() {
+        if (status == .restarting) && (tunnelProvider.connection.status == .disconnected || tunnelProvider.connection.status == .disconnecting) {
+            return
+        }
         status = TunnelStatus(from: tunnelProvider.connection.status)
         isActivateOnDemandEnabled = tunnelProvider.isOnDemandEnabled
     }