diff options
| author | Bug Magnet <marco.nikic@mullvad.net> | 2025-02-18 11:20:45 +0100 |
|---|---|---|
| committer | Bug Magnet <marco.nikic@mullvad.net> | 2025-02-18 11:20:45 +0100 |
| commit | 334a24ee77798308591a74c66b7bb44dcf20f712 (patch) | |
| tree | 94ab4972099f1380960167220ff028baaa663d3c | |
| parent | c778787bfac7fd842b428cc4972ae85d2eda15ac (diff) | |
| parent | 831fb52d4ab45fe89e2d3b87d577d8cdd798cd96 (diff) | |
| download | mullvadvpn-334a24ee77798308591a74c66b7bb44dcf20f712.tar.xz mullvadvpn-334a24ee77798308591a74c66b7bb44dcf20f712.zip | |
Merge branch 'fix-encrypted-dns-rotation-strategy-ios-1037'
| -rw-r--r-- | ios/MullvadREST/Transport/TransportProvider.swift | 13 | ||||
| -rw-r--r-- | ios/MullvadRustRuntime/EncryptedDNSProxy.swift | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/ios/MullvadREST/Transport/TransportProvider.swift b/ios/MullvadREST/Transport/TransportProvider.swift index ac08064eb4..9573d5fdbd 100644 --- a/ios/MullvadREST/Transport/TransportProvider.swift +++ b/ios/MullvadREST/Transport/TransportProvider.swift @@ -8,6 +8,7 @@ import Foundation import Logging +import MullvadRustRuntime import MullvadTypes public final class TransportProvider: RESTTransportProvider, Sendable { @@ -38,7 +39,8 @@ public final class TransportProvider: RESTTransportProvider, Sendable { let currentStrategy = transportStrategy return TransportWrapper(wrapped: actualTransport) { [weak self] error in - if let error = error as? URLError, error.shouldResetNetworkTransport { + if (error as? URLError)?.shouldResetNetworkTransport ?? false || + (error as? EncryptedDnsProxyError)?.shouldResetNetworkTransport ?? false { self?.resetTransportMatching(currentStrategy) } } @@ -104,6 +106,15 @@ public final class TransportProvider: RESTTransportProvider, Sendable { } } +private extension EncryptedDnsProxyError { + var shouldResetNetworkTransport: Bool { + switch self { + case .start: + return true + } + } +} + private extension URLError { /// Whether the transport selection should be reset. /// diff --git a/ios/MullvadRustRuntime/EncryptedDNSProxy.swift b/ios/MullvadRustRuntime/EncryptedDNSProxy.swift index 935ac27fa0..b5929b5ba4 100644 --- a/ios/MullvadRustRuntime/EncryptedDNSProxy.swift +++ b/ios/MullvadRustRuntime/EncryptedDNSProxy.swift @@ -9,7 +9,7 @@ import Foundation import MullvadRustRuntimeProxy -enum EncryptedDnsProxyError: Error { +public enum EncryptedDnsProxyError: Error { case start(err: Int32) } |
