diff options
Diffstat (limited to 'Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift')
-rw-r--r-- | Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift b/Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift index b92ada7..9ba605a 100644 --- a/Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift +++ b/Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift @@ -42,7 +42,9 @@ extension ActivateOnDemandOption { } } tunnelProviderManager.onDemandRules = rules - tunnelProviderManager.isOnDemandEnabled = false + let status = tunnelProviderManager.connection.status + let isActive = status == .connected || status == .connecting + tunnelProviderManager.isOnDemandEnabled = (rules != nil) && (tunnelProviderManager.isOnDemandEnabled || isActive) } init(from tunnelProviderManager: NETunnelProviderManager) { |