aboutsummaryrefslogtreecommitdiffstats
path: root/Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift')
-rw-r--r--Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift4
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) {