From d8d18fcb3de7899cddab3c73d21a552094c884f5 Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Thu, 4 Apr 2019 15:29:25 +0530 Subject: [PATCH] macOS: Attempt to remove keychain item only if verified --- WireGuard/WireGuard/Tunnel/TunnelsManager.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/WireGuard/WireGuard/Tunnel/TunnelsManager.swift b/WireGuard/WireGuard/Tunnel/TunnelsManager.swift index 3b976f4..e50e458 100644 --- a/WireGuard/WireGuard/Tunnel/TunnelsManager.swift +++ b/WireGuard/WireGuard/Tunnel/TunnelsManager.swift @@ -245,7 +245,9 @@ class TunnelsManager { func remove(tunnel: TunnelContainer, completionHandler: @escaping (TunnelsManagerError?) -> Void) { let tunnelProviderManager = tunnel.tunnelProvider - (tunnelProviderManager.protocolConfiguration as? NETunnelProviderProtocol)?.destroyConfigurationReference() + if tunnel.isTunnelConfigurationAvailableInKeychain { + (tunnelProviderManager.protocolConfiguration as? NETunnelProviderProtocol)?.destroyConfigurationReference() + } tunnelProviderManager.removeFromPreferences { [weak self] error in guard error == nil else {