From 47281cafc99dcfd0bdf60d41b3357cdbb33875fa Mon Sep 17 00:00:00 2001 From: Davide De Rosa Date: Thu, 10 Nov 2022 07:11:10 +0100 Subject: [PATCH] Move kill switch to configuration extras --- .../TunnelKitManager/NetworkExtensionConfiguration.swift | 3 +++ .../OpenVPN+ProviderConfiguration.swift | 7 ++----- .../WireGuard+ProviderConfiguration.swift | 6 ++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Sources/TunnelKitManager/NetworkExtensionConfiguration.swift b/Sources/TunnelKitManager/NetworkExtensionConfiguration.swift index bfd1f1b..0d8e961 100644 --- a/Sources/TunnelKitManager/NetworkExtensionConfiguration.swift +++ b/Sources/TunnelKitManager/NetworkExtensionConfiguration.swift @@ -38,6 +38,9 @@ public struct NetworkExtensionExtra { /// Disconnects on sleep if `true`. public var disconnectsOnSleep = false + /// Enables best-effort kill switch. + public var killSwitch = false + public init() { } } diff --git a/Sources/TunnelKitOpenVPNManager/OpenVPN+ProviderConfiguration.swift b/Sources/TunnelKitOpenVPNManager/OpenVPN+ProviderConfiguration.swift index 7487f39..2cbc8fa 100644 --- a/Sources/TunnelKitOpenVPNManager/OpenVPN+ProviderConfiguration.swift +++ b/Sources/TunnelKitOpenVPNManager/OpenVPN+ProviderConfiguration.swift @@ -59,9 +59,6 @@ extension OpenVPN { /// The client configuration. public let configuration: OpenVPN.Configuration - /// Enables kill switch. - public var killSwitch: Bool? - /// The optional username. public var username: String? @@ -116,8 +113,8 @@ extension OpenVPN.ProviderConfiguration: NetworkExtensionConfiguration { } protocolConfiguration.disconnectOnSleep = extra?.disconnectsOnSleep ?? false protocolConfiguration.providerConfiguration = try asDictionary() - if #available(iOS 14, *), let killSwitch = killSwitch { - protocolConfiguration.includeAllNetworks = killSwitch + if #available(iOS 14, *) { + protocolConfiguration.includeAllNetworks = extra?.killSwitch ?? false } return protocolConfiguration } diff --git a/Sources/TunnelKitWireGuardManager/WireGuard+ProviderConfiguration.swift b/Sources/TunnelKitWireGuardManager/WireGuard+ProviderConfiguration.swift index 7502dae..a19606a 100644 --- a/Sources/TunnelKitWireGuardManager/WireGuard+ProviderConfiguration.swift +++ b/Sources/TunnelKitWireGuardManager/WireGuard+ProviderConfiguration.swift @@ -49,8 +49,6 @@ extension WireGuard { public let configuration: WireGuard.Configuration - public var killSwitch: Bool? - public var shouldDebug = false public var debugLogPath: String? = nil @@ -85,8 +83,8 @@ extension WireGuard.ProviderConfiguration: NetworkExtensionConfiguration { protocolConfiguration.passwordReference = extra?.passwordReference protocolConfiguration.disconnectOnSleep = extra?.disconnectsOnSleep ?? false protocolConfiguration.providerConfiguration = try asDictionary() - if #available(iOS 14, *), let killSwitch = killSwitch { - protocolConfiguration.includeAllNetworks = killSwitch + if #available(iOS 14, *) { + protocolConfiguration.includeAllNetworks = extra?.killSwitch ?? false } return protocolConfiguration }