From 3376334007fe5ea249c325309405f62eaf094b8b Mon Sep 17 00:00:00 2001 From: Juraj Hilje Date: Tue, 21 Nov 2023 14:17:30 +0100 Subject: [PATCH 01/20] feat: evaluate key rotation as soon as VPN is connected --- .../PacketTunnelProvider.swift | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/wireguard-tunnel-provider/PacketTunnelProvider.swift b/wireguard-tunnel-provider/PacketTunnelProvider.swift index 3e62a9c05..fe980f016 100644 --- a/wireguard-tunnel-provider/PacketTunnelProvider.swift +++ b/wireguard-tunnel-provider/PacketTunnelProvider.swift @@ -145,18 +145,23 @@ class PacketTunnelProvider: NEPacketTunnelProvider { } private func startKeyRegenerationMonitor(completion: @escaping (Error?) -> Void) { + evaluateKeyRotation(completion) let timer = TimerManager(timeInterval: AppKeyManager.regenerationCheckInterval) timer.eventHandler = { - if AppKeyManager.needToRegenerate() { - self.regenerateKeys { error in - completion(error) - } - } + self.evaluateKeyRotation(completion) timer.proceed() } timer.resume() } + private func evaluateKeyRotation(_ completion: @escaping (Error?) -> Void) { + if AppKeyManager.needToRegenerate() { + self.regenerateKeys { error in + completion(error) + } + } + } + private func regenerateKeys(completion: @escaping (Error?) -> Void) { wg_log(.info, message: "Rotating keys") AppKeyManager.shared.setNewKey { privateKey, ipAddress, presharedKey in From 55c079a9d30625fc47e4a38fa4e478848e3707d3 Mon Sep 17 00:00:00 2001 From: Juraj Hilje Date: Tue, 21 Nov 2023 15:15:32 +0100 Subject: [PATCH 02/20] feat(network protection): update Main.storyboard --- IVPNClient/Scenes/Base.lproj/Main.storyboard | 78 +++++++++++++++---- ...NetworkProtectionRulesViewController.swift | 9 +++ .../NetworkProtectionViewController.swift | 2 +- 3 files changed, 71 insertions(+), 18 deletions(-) diff --git a/IVPNClient/Scenes/Base.lproj/Main.storyboard b/IVPNClient/Scenes/Base.lproj/Main.storyboard index c756fac63..6882a8850 100644 --- a/IVPNClient/Scenes/Base.lproj/Main.storyboard +++ b/IVPNClient/Scenes/Base.lproj/Main.storyboard @@ -1048,7 +1048,7 @@ -