diff options
| author | mojganii <mojgan.jelodar@codic.se> | 2024-08-14 14:03:23 +0200 |
|---|---|---|
| committer | Bug Magnet <marco.nikic@mullvad.net> | 2024-08-15 09:38:02 +0200 |
| commit | bdfd39740fdbf9c5462967c23a03e29aeece41d2 (patch) | |
| tree | 27ea3bacb29034e424ee7d865e1b3a67c252b3b7 /ios/PacketTunnelCore | |
| parent | 1283882cf051a68fe28b26ebbce93ae1bf0895b6 (diff) | |
| download | mullvadvpn-bdfd39740fdbf9c5462967c23a03e29aeece41d2.tar.xz mullvadvpn-bdfd39740fdbf9c5462967c23a03e29aeece41d2.zip | |
Add DAITA into TunnelSettings
Diffstat (limited to 'ios/PacketTunnelCore')
| -rw-r--r-- | ios/PacketTunnelCore/Actor/PacketTunnelActor.swift | 5 | ||||
| -rw-r--r-- | ios/PacketTunnelCore/Actor/Protocols/SettingsReaderProtocol.swift | 66 |
2 files changed, 46 insertions, 25 deletions
diff --git a/ios/PacketTunnelCore/Actor/PacketTunnelActor.swift b/ios/PacketTunnelCore/Actor/PacketTunnelActor.swift index 86d6baae72..10cd928cf8 100644 --- a/ios/PacketTunnelCore/Actor/PacketTunnelActor.swift +++ b/ios/PacketTunnelCore/Actor/PacketTunnelActor.swift @@ -500,10 +500,7 @@ extension PacketTunnelActor { } case .random: - return try relaySelector.selectRelays( - with: relayConstraints, - connectionAttemptCount: connectionAttemptCount - ) + return try relaySelector.selectRelays(connectionAttemptCount: connectionAttemptCount) case let .preSelected(selectedRelays): return selectedRelays diff --git a/ios/PacketTunnelCore/Actor/Protocols/SettingsReaderProtocol.swift b/ios/PacketTunnelCore/Actor/Protocols/SettingsReaderProtocol.swift index 8df91bd31b..a1107efc2a 100644 --- a/ios/PacketTunnelCore/Actor/Protocols/SettingsReaderProtocol.swift +++ b/ios/PacketTunnelCore/Actor/Protocols/SettingsReaderProtocol.swift @@ -31,36 +31,60 @@ public struct Settings: Equatable { /// IP addresses assigned for tunnel interface. public var interfaceAddresses: [IPAddressRange] + public var tunnelSettings: LatestTunnelSettings + + public init( + privateKey: PrivateKey, + interfaceAddresses: [IPAddressRange], + tunnelSettings: LatestTunnelSettings + ) { + self.privateKey = privateKey + self.interfaceAddresses = interfaceAddresses + self.tunnelSettings = tunnelSettings + } +} + +extension Settings { /// Relay constraints. - public var relayConstraints: RelayConstraints + public var relayConstraints: RelayConstraints { + tunnelSettings.relayConstraints + } /// DNS servers selected by user. - public var dnsServers: SelectedDNSServers + public var dnsServers: SelectedDNSServers { + /** + Converts `DNSSettings` to `SelectedDNSServers` structure. + */ + if tunnelSettings.dnsSettings.effectiveEnableCustomDNS { + let addresses = Array( + tunnelSettings.dnsSettings.customDNSDomains + .prefix(DNSSettings.maxAllowedCustomDNSDomains) + ) + return .custom(addresses) + } else if let serverAddress = tunnelSettings.dnsSettings.blockingOptions.serverAddress { + return .blocking(serverAddress) + } else { + return .gateway + } + } /// Obfuscation settings - public var obfuscation: WireGuardObfuscationSettings + public var obfuscation: WireGuardObfuscationSettings { + tunnelSettings.wireGuardObfuscation + } - public var quantumResistance: TunnelQuantumResistance + public var quantumResistance: TunnelQuantumResistance { + tunnelSettings.tunnelQuantumResistance + } /// Whether multi-hop is enabled. - public var multihopState: MultihopState + public var multihopState: MultihopState { + tunnelSettings.tunnelMultihopState + } - public init( - privateKey: PrivateKey, - interfaceAddresses: [IPAddressRange], - relayConstraints: RelayConstraints, - dnsServers: SelectedDNSServers, - obfuscation: WireGuardObfuscationSettings, - quantumResistance: TunnelQuantumResistance, - multihopState: MultihopState - ) { - self.privateKey = privateKey - self.interfaceAddresses = interfaceAddresses - self.relayConstraints = relayConstraints - self.dnsServers = dnsServers - self.obfuscation = obfuscation - self.quantumResistance = quantumResistance - self.multihopState = multihopState + /// DAITA settings. + public var daita: DAITASettings { + tunnelSettings.daita } } |
