From: Roopesh Chander Date: Thu, 4 Apr 2019 09:59:25 +0000 (+0530) Subject: macOS: Attempt to remove keychain item only if verified X-Git-Tag: 0.0.20190409-6~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=adbe0b065e34dae818614ba545b517b561ad137d;p=thirdparty%2Fwireguard-apple.git macOS: Attempt to remove keychain item only if verified Signed-off-by: Roopesh Chander --- 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 {