diff options
| author | mojganii <mojgan.jelodar@codic.se> | 2024-09-25 14:33:52 +0200 |
|---|---|---|
| committer | mojganii <mojgan.jelodar@codic.se> | 2024-09-25 14:34:31 +0200 |
| commit | 56b3d6e5f43bbde09386b79fc176a44b856d7fb6 (patch) | |
| tree | 7bb3e89e9582f72f7bd3eda28e1fdb5e5df478e4 /ios/MullvadVPN | |
| parent | 41b7988157d4369e11230e9c7db8b11c41da2dc0 (diff) | |
| download | mullvadvpn-56b3d6e5f43bbde09386b79fc176a44b856d7fb6.tar.xz mullvadvpn-56b3d6e5f43bbde09386b79fc176a44b856d7fb6.zip | |
Add UI for encrypted dns proxy
Diffstat (limited to 'ios/MullvadVPN')
5 files changed, 14 insertions, 7 deletions
diff --git a/ios/MullvadVPN/AppDelegate.swift b/ios/MullvadVPN/AppDelegate.swift index 48314ee2af..55d6153fee 100644 --- a/ios/MullvadVPN/AppDelegate.swift +++ b/ios/MullvadVPN/AppDelegate.swift @@ -537,7 +537,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD try? SettingsManager.writeSettings(LatestTunnelSettings()) // Default access methods need to be repopulated again after settings wipe. - self.accessMethodRepository.reloadWithDefaultsAfterDataRemoval() + self.accessMethodRepository.addDefaultsMethods() // At app startup, the relay cache tracker will get populated with a list of overriden IPs. // The overriden IPs will get wiped, therefore, the cache needs to be pruned as well. try? self.relayCacheTracker.refreshCachedRelays() diff --git a/ios/MullvadVPN/Coordinators/Settings/APIAccess/Edit/MethodSettings/MethodSettingsDataSourceConfiguration.swift b/ios/MullvadVPN/Coordinators/Settings/APIAccess/Edit/MethodSettings/MethodSettingsDataSourceConfiguration.swift index c0f1e750d0..7e88cfc1c5 100644 --- a/ios/MullvadVPN/Coordinators/Settings/APIAccess/Edit/MethodSettings/MethodSettingsDataSourceConfiguration.swift +++ b/ios/MullvadVPN/Coordinators/Settings/APIAccess/Edit/MethodSettings/MethodSettingsDataSourceConfiguration.swift @@ -49,7 +49,7 @@ class MethodSettingsDataSourceConfiguration { } switch newValue.method { - case .direct, .bridges: + case .direct, .bridges, .encryptedDNS: break case .shadowsocks: @@ -106,7 +106,7 @@ class MethodSettingsDataSourceConfiguration { } let itemsToReload: [MethodSettingsItemIdentifier] = switch viewModel.method { - case .direct, .bridges: + case .direct, .bridges, .encryptedDNS: [] case .shadowsocks: MethodSettingsItemIdentifier.allShadowsocksItems diff --git a/ios/MullvadVPN/Coordinators/Settings/APIAccess/Edit/MethodSettings/MethodSettingsItemIdentifier.swift b/ios/MullvadVPN/Coordinators/Settings/APIAccess/Edit/MethodSettings/MethodSettingsItemIdentifier.swift index b24b94ad32..87e0e2e45d 100644 --- a/ios/MullvadVPN/Coordinators/Settings/APIAccess/Edit/MethodSettings/MethodSettingsItemIdentifier.swift +++ b/ios/MullvadVPN/Coordinators/Settings/APIAccess/Edit/MethodSettings/MethodSettingsItemIdentifier.swift @@ -87,7 +87,7 @@ enum MethodSettingsItemIdentifier: Hashable { selectedMethod: AccessMethodKind ) -> [MethodSettingsItemIdentifier] { switch selectedMethod { - case .direct, .bridges: + case .direct, .bridges, .encryptedDNS: [] case .shadowsocks: errors.compactMap { error in diff --git a/ios/MullvadVPN/Coordinators/Settings/APIAccess/Models/AccessMethodKind.swift b/ios/MullvadVPN/Coordinators/Settings/APIAccess/Models/AccessMethodKind.swift index 35fe1fd43c..559b3fce04 100644 --- a/ios/MullvadVPN/Coordinators/Settings/APIAccess/Models/AccessMethodKind.swift +++ b/ios/MullvadVPN/Coordinators/Settings/APIAccess/Models/AccessMethodKind.swift @@ -20,13 +20,16 @@ enum AccessMethodKind: Equatable, Hashable, CaseIterable { /// Communication over shadowsocks. case shadowsocks + /// Communication over proxy address from a DNS. + case encryptedDNS + /// Communication over socks v5 proxy. case socks5 /// Returns `true` if the method is permanent and cannot be deleted. var isPermanent: Bool { switch self { - case .direct, .bridges: + case .direct, .bridges, .encryptedDNS: true case .shadowsocks, .socks5: false @@ -41,7 +44,7 @@ enum AccessMethodKind: Equatable, Hashable, CaseIterable { /// Returns localized description describing the access method. var localizedDescription: String { switch self { - case .direct, .bridges: + case .direct, .bridges, .encryptedDNS: "" case .shadowsocks: NSLocalizedString("SHADOWSOCKS", tableName: "APIAccess", value: "Shadowsocks", comment: "") @@ -54,7 +57,7 @@ enum AccessMethodKind: Equatable, Hashable, CaseIterable { /// Methods that aren't configurable do not offer any additional configuration. var hasProxyConfiguration: Bool { switch self { - case .direct, .bridges: + case .direct, .bridges, .encryptedDNS: false case .shadowsocks, .socks5: true @@ -68,6 +71,8 @@ extension PersistentAccessMethod { switch proxyConfiguration { case .direct: .direct + case .encryptedDNS: + .encryptedDNS case .bridges: .bridges case .shadowsocks: diff --git a/ios/MullvadVPN/Coordinators/Settings/APIAccess/Models/AccessMethodViewModel+Persistent.swift b/ios/MullvadVPN/Coordinators/Settings/APIAccess/Models/AccessMethodViewModel+Persistent.swift index 0d8182b5af..4ad1cea25b 100644 --- a/ios/MullvadVPN/Coordinators/Settings/APIAccess/Models/AccessMethodViewModel+Persistent.swift +++ b/ios/MullvadVPN/Coordinators/Settings/APIAccess/Models/AccessMethodViewModel+Persistent.swift @@ -58,6 +58,8 @@ extension AccessMethodViewModel { .direct case .bridges: .bridges + case .encryptedDNS: + .encryptedDNS case .socks5: try socks.intoPersistentProxyConfiguration() case .shadowsocks: |
