From ec031b1f19c7b85b52ef478b8dfe3f8e173cf046 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 21 Dec 2018 18:50:32 +0100 Subject: Get rid of superflous isActivateOnDemandEnabled key Signed-off-by: Jason A. Donenfeld --- WireGuard/WireGuard/Base.lproj/Localizable.strings | 1 + WireGuard/WireGuard/Tunnel/MockTunnels.swift | 2 +- WireGuard/WireGuard/Tunnel/TunnelErrors.swift | 12 ++++++------ WireGuard/WireGuard/Tunnel/TunnelsManager.swift | 8 ++++---- 4 files changed, 12 insertions(+), 11 deletions(-) (limited to 'WireGuard/WireGuard') diff --git a/WireGuard/WireGuard/Base.lproj/Localizable.strings b/WireGuard/WireGuard/Base.lproj/Localizable.strings index 524cfdc..58eb9d4 100644 --- a/WireGuard/WireGuard/Base.lproj/Localizable.strings +++ b/WireGuard/WireGuard/Base.lproj/Localizable.strings @@ -177,6 +177,7 @@ "alertTunnelActivationFailureTitle" = "Activation failure"; "alertTunnelActivationFailureMessage" = "The tunnel could not be activated. Please ensure that you are connected to the Internet."; +"alertTunnelActivationFailureOnDemandAddendum" = " This tunnel has Activate On Demand enabled, so this tunnel might be re-activated automatically by the OS. You may turn off Activate On Demand in this app by editing the tunnel configuration."; "alertTunnelNameEmptyTitle" = "No name provided"; "alertTunnelNameEmptyMessage" = "Cannot create tunnel with an empty name"; diff --git a/WireGuard/WireGuard/Tunnel/MockTunnels.swift b/WireGuard/WireGuard/Tunnel/MockTunnels.swift index 7be6f5c..764d860 100644 --- a/WireGuard/WireGuard/Tunnel/MockTunnels.swift +++ b/WireGuard/WireGuard/Tunnel/MockTunnels.swift @@ -37,7 +37,7 @@ class MockTunnels { let tunnelConfiguration = TunnelConfiguration(interface: interface, peers: [peer]) let tunnelProviderManager = NETunnelProviderManager() - tunnelProviderManager.protocolConfiguration = NETunnelProviderProtocol(tunnelConfiguration: tunnelConfiguration, isActivateOnDemandEnabled: false) + tunnelProviderManager.protocolConfiguration = NETunnelProviderProtocol(tunnelConfiguration: tunnelConfiguration) tunnelProviderManager.localizedDescription = tunnelName tunnelProviderManager.isEnabled = true diff --git a/WireGuard/WireGuard/Tunnel/TunnelErrors.swift b/WireGuard/WireGuard/Tunnel/TunnelErrors.swift index c3d15b2..9b2b574 100644 --- a/WireGuard/WireGuard/Tunnel/TunnelErrors.swift +++ b/WireGuard/WireGuard/Tunnel/TunnelErrors.swift @@ -51,15 +51,15 @@ enum TunnelsManagerActivationAttemptError: WireGuardAppError { } enum TunnelsManagerActivationError: WireGuardAppError { - case activationFailed - case activationFailedWithExtensionError(title: String, message: String) + case activationFailed(wasOnDemandEnabled: Bool) + case activationFailedWithExtensionError(title: String, message: String, wasOnDemandEnabled: Bool) var alertText: AlertText { switch self { - case .activationFailed: - return (tr("alertTunnelActivationFailureTitle"), tr("alertTunnelActivationFailureMessage")) - case .activationFailedWithExtensionError(let title, let message): - return (title, message) + case .activationFailed(let wasOnDemandEnabled): + return (tr("alertTunnelActivationFailureTitle"), tr("alertTunnelActivationFailureMessage") + (wasOnDemandEnabled ? tr("alertTunnelActivationFailureOnDemandAddendum") : "")) + case .activationFailedWithExtensionError(let title, let message, let wasOnDemandEnabled): + return (title, message + (wasOnDemandEnabled ? tr("alertTunnelActivationFailureOnDemandAddendum") : "")) } } } diff --git a/WireGuard/WireGuard/Tunnel/TunnelsManager.swift b/WireGuard/WireGuard/Tunnel/TunnelsManager.swift index b56cb37..51f0d37 100644 --- a/WireGuard/WireGuard/Tunnel/TunnelsManager.swift +++ b/WireGuard/WireGuard/Tunnel/TunnelsManager.swift @@ -66,7 +66,7 @@ class TunnelsManager { } let tunnelProviderManager = NETunnelProviderManager() - tunnelProviderManager.protocolConfiguration = NETunnelProviderProtocol(tunnelConfiguration: tunnelConfiguration, isActivateOnDemandEnabled: activateOnDemandSetting.isActivateOnDemandEnabled) + tunnelProviderManager.protocolConfiguration = NETunnelProviderProtocol(tunnelConfiguration: tunnelConfiguration) tunnelProviderManager.localizedDescription = tunnelName tunnelProviderManager.isEnabled = true @@ -125,7 +125,7 @@ class TunnelsManager { let shouldRestartIfActive = !((tunnelProviderManager.protocolConfiguration as? NETunnelProviderProtocol)?.hasTunnelConfiguration(tunnelConfiguration: tunnelConfiguration) ?? false) - tunnelProviderManager.protocolConfiguration = NETunnelProviderProtocol(tunnelConfiguration: tunnelConfiguration, isActivateOnDemandEnabled: activateOnDemandSetting.isActivateOnDemandEnabled) + tunnelProviderManager.protocolConfiguration = NETunnelProviderProtocol(tunnelConfiguration: tunnelConfiguration) tunnelProviderManager.localizedDescription = tunnelName tunnelProviderManager.isEnabled = true @@ -277,9 +277,9 @@ class TunnelsManager { } else if session.status == .disconnected { tunnel.isAttemptingActivation = false if let (title, message) = self.lastErrorTextFromNetworkExtension(for: tunnel) { - self.activationDelegate?.tunnelActivationFailed(tunnel: tunnel, error: .activationFailedWithExtensionError(title: title, message: message)) + self.activationDelegate?.tunnelActivationFailed(tunnel: tunnel, error: .activationFailedWithExtensionError(title: title, message: message, wasOnDemandEnabled: tunnelProvider.isOnDemandEnabled)) } else { - self.activationDelegate?.tunnelActivationFailed(tunnel: tunnel, error: .activationFailed) + self.activationDelegate?.tunnelActivationFailed(tunnel: tunnel, error: .activationFailed(wasOnDemandEnabled: tunnelProvider.isOnDemandEnabled)) } } } -- cgit v1.2.3-59-g8ed1b