From: Roopesh Chander Date: Mon, 10 Dec 2018 10:58:41 +0000 (+0530) Subject: TunnelsManager: Handle deactivation of a waiting tunnel X-Git-Tag: 0.0.20181104-6~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b491b9c37188e6fde7972f3f971652891de2228a;p=thirdparty%2Fwireguard-apple.git TunnelsManager: Handle deactivation of a waiting tunnel Signed-off-by: Roopesh Chander --- 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() }