diff options
author | Roopesh Chander <roop@roopc.net> | 2018-12-10 16:28:41 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2018-12-10 16:28:41 +0530 |
commit | b491b9c37188e6fde7972f3f971652891de2228a (patch) | |
tree | 6ccbcff34cf01b0c3aed89476f87c4bb6ed6a559 /WireGuard/WireGuard/VPN | |
parent | Tunnels list: Fix AutoLayout error during deletion of a tunnel (diff) | |
download | wireguard-apple-b491b9c37188e6fde7972f3f971652891de2228a.tar.xz wireguard-apple-b491b9c37188e6fde7972f3f971652891de2228a.zip |
TunnelsManager: Handle deactivation of a waiting tunnel
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard/VPN')
-rw-r--r-- | WireGuard/WireGuard/VPN/TunnelsManager.swift | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/WireGuard/WireGuard/VPN/TunnelsManager.swift b/WireGuard/WireGuard/VPN/TunnelsManager.swift index 2276ef7..b0db3c0 100644 --- a/WireGuard/WireGuard/VPN/TunnelsManager.swift +++ b/WireGuard/WireGuard/VPN/TunnelsManager.swift @@ -402,8 +402,13 @@ class TunnelContainer: NSObject { } fileprivate func startDeactivation() { - assert(status == .active || status == .waiting) let session = (tunnelProvider.connection as! NETunnelProviderSession) + if (status == .waiting && (session.status == .disconnected || session.status == .invalid)) { + status = .inactive + self.onDeactivationComplete?() + self.onDeactivationComplete = nil + return + } session.stopTunnel() } |