diff options
| author | Bug Magnet <marco.nikic@mullvad.net> | 2025-09-08 13:06:59 +0200 |
|---|---|---|
| committer | Bug Magnet <marco.nikic@mullvad.net> | 2025-09-08 13:34:08 +0200 |
| commit | 05af92fde39e3a94a1a5ab227f350ab1a71fe487 (patch) | |
| tree | 2c89b86bd334dd2831babab6a27b20514c177d51 | |
| parent | ee6cbd39534d5e2140bcd76ca87152043d34d01c (diff) | |
| download | mullvadvpn-05af92fde39e3a94a1a5ab227f350ab1a71fe487.tar.xz mullvadvpn-05af92fde39e3a94a1a5ab227f350ab1a71fe487.zip | |
Remove ProxyConfigurationTransportProvider
6 files changed, 1 insertions, 87 deletions
diff --git a/ios/MullvadREST/Transport/ProxyConfigurationTransportProvider.swift b/ios/MullvadREST/Transport/ProxyConfigurationTransportProvider.swift deleted file mode 100644 index 0eea6b7338..0000000000 --- a/ios/MullvadREST/Transport/ProxyConfigurationTransportProvider.swift +++ /dev/null @@ -1,66 +0,0 @@ -// -// ProxyConfigurationTransportProvider.swift -// MullvadREST -// -// Created by Marco Nikic on 2024-01-19. -// Copyright © 2025 Mullvad VPN AB. All rights reserved. -// - -import Foundation -import MullvadSettings -import MullvadTypes - -/// Allows the creation of `RESTTransport` objects that bypass the network routing logic provided by `TransportProvider`. -public class ProxyConfigurationTransportProvider { - private let shadowsocksLoader: ShadowsocksLoaderProtocol - private let addressCache: REST.AddressCache - private let encryptedDNSTransport: RESTTransport - - public init( - shadowsocksLoader: ShadowsocksLoaderProtocol, - addressCache: REST.AddressCache, - encryptedDNSTransport: RESTTransport - ) { - self.shadowsocksLoader = shadowsocksLoader - self.addressCache = addressCache - self.encryptedDNSTransport = encryptedDNSTransport - } - - public func makeTransport(with configuration: PersistentProxyConfiguration) throws -> RESTTransport { - let urlSession = REST.makeURLSession(addressCache: addressCache) - switch configuration { - case .direct: - return URLSessionTransport(urlSession: urlSession) - case .bridges: - let shadowsocksConfiguration = try shadowsocksLoader.load() - return ShadowsocksTransport( - urlSession: urlSession, - configuration: shadowsocksConfiguration, - addressCache: addressCache - ) - case .encryptedDNS: - return encryptedDNSTransport - case let .shadowsocks(shadowSocksConfiguration): - return ShadowsocksTransport( - urlSession: urlSession, - configuration: ShadowsocksConfiguration( - address: shadowSocksConfiguration.server, - port: shadowSocksConfiguration.port, - password: shadowSocksConfiguration.password, - cipher: shadowSocksConfiguration.cipher.rawValue.description - ), - addressCache: addressCache - ) - case let .socks5(socksConfiguration): - return URLSessionSocks5Transport( - urlSession: urlSession, - configuration: Socks5Configuration( - proxyEndpoint: socksConfiguration.toAnyIPEndpoint, - username: socksConfiguration.credential?.username, - password: socksConfiguration.credential?.password - ), - addressCache: addressCache - ) - } - } -} diff --git a/ios/MullvadVPN.xcodeproj/project.pbxproj b/ios/MullvadVPN.xcodeproj/project.pbxproj index 23718aa53c..ad8a27b108 100644 --- a/ios/MullvadVPN.xcodeproj/project.pbxproj +++ b/ios/MullvadVPN.xcodeproj/project.pbxproj @@ -772,7 +772,6 @@ A91D78E42B03C01600FCD5D3 /* MullvadSettings.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 58B2FDD32AA71D2A003EB5C6 /* MullvadSettings.framework */; }; A91EBEDA2C1337040004A84D /* RetryStrategyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A91EBED92C1337040004A84D /* RetryStrategyTests.swift */; }; A93181A12B727ED700E341D2 /* TunnelSettingsV4.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93181A02B727ED700E341D2 /* TunnelSettingsV4.swift */; }; - A932D9EF2B5ADD0700999395 /* ProxyConfigurationTransportProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = A932D9EE2B5ADD0700999395 /* ProxyConfigurationTransportProvider.swift */; }; A932D9F32B5EB61100999395 /* HeadRequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A932D9F22B5EB61100999395 /* HeadRequestTests.swift */; }; A932D9F52B5EBB9D00999395 /* RESTTransportStub.swift in Sources */ = {isa = PBXBuildFile; fileRef = A932D9F42B5EBB9D00999395 /* RESTTransportStub.swift */; }; A935594C2B4C2DA900D5D524 /* APIAvailabilityTestRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A935594B2B4C2DA900D5D524 /* APIAvailabilityTestRequest.swift */; }; @@ -2354,7 +2353,6 @@ A92ECC272A7802AB0052F1B1 /* StoredDeviceData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoredDeviceData.swift; sourceTree = "<group>"; }; A92ECC2B2A7803A50052F1B1 /* DeviceState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeviceState.swift; sourceTree = "<group>"; }; A93181A02B727ED700E341D2 /* TunnelSettingsV4.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TunnelSettingsV4.swift; sourceTree = "<group>"; }; - A932D9EE2B5ADD0700999395 /* ProxyConfigurationTransportProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProxyConfigurationTransportProvider.swift; sourceTree = "<group>"; }; A932D9F22B5EB61100999395 /* HeadRequestTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadRequestTests.swift; sourceTree = "<group>"; }; A932D9F42B5EBB9D00999395 /* RESTTransportStub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RESTTransportStub.swift; sourceTree = "<group>"; }; A935594B2B4C2DA900D5D524 /* APIAvailabilityTestRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIAvailabilityTestRequest.swift; sourceTree = "<group>"; }; @@ -4857,7 +4855,6 @@ 7A2E7B742D6CA0AC009EF2C3 /* APITransportProvider.swift */, F0DC77A32B2315800087F09D /* Direct */, F0E5B2F62C9C689C0007F78C /* EncryptedDNS */, - A932D9EE2B5ADD0700999395 /* ProxyConfigurationTransportProvider.swift */, 06FAE67D28F83CA50033DD93 /* RESTTransport.swift */, 58E7BA182A975DF70068EC3A /* RESTTransportProvider.swift */, F0DC77A22B2314EF0087F09D /* Shadowsocks */, @@ -5957,7 +5954,6 @@ F05F39982B21C73C006E60A7 /* CachedRelays.swift in Sources */, F0F316192BF3572B0078DBCF /* RelaySelectorResult.swift in Sources */, F05F39972B21C735006E60A7 /* RelayCache.swift in Sources */, - A932D9EF2B5ADD0700999395 /* ProxyConfigurationTransportProvider.swift in Sources */, F01528BB2BFF3FEE00B01D00 /* ShadowsocksRelaySelector.swift in Sources */, 7AD63A392CD520FD00445268 /* RelayObfuscator.swift in Sources */, 06799AE728F98E4800ACD94E /* RESTURLSession.swift in Sources */, diff --git a/ios/MullvadVPN/AccessMethodRepository/ProxyConfigurationTester.swift b/ios/MullvadVPN/AccessMethodRepository/ProxyConfigurationTester.swift index d660723329..7bd32527ae 100644 --- a/ios/MullvadVPN/AccessMethodRepository/ProxyConfigurationTester.swift +++ b/ios/MullvadVPN/AccessMethodRepository/ProxyConfigurationTester.swift @@ -15,12 +15,9 @@ import MullvadTypes /// A concrete implementation of an access method proxy configuration. class ProxyConfigurationTester: ProxyConfigurationTesterProtocol { private var cancellable: MullvadTypes.Cancellable? - private let transportProvider: ProxyConfigurationTransportProvider - private var headRequest: REST.APIAvailabilityTestRequest? private let apiProxy: APIQuerying - init(transportProvider: ProxyConfigurationTransportProvider, apiProxy: APIQuerying) { - self.transportProvider = transportProvider + init(apiProxy: APIQuerying) { self.apiProxy = apiProxy } @@ -36,6 +33,5 @@ class ProxyConfigurationTester: ProxyConfigurationTesterProtocol { func cancel() { cancellable?.cancel() cancellable = nil - headRequest = nil } } diff --git a/ios/MullvadVPN/AppDelegate.swift b/ios/MullvadVPN/AppDelegate.swift index 9758a60fc0..488c6f4003 100644 --- a/ios/MullvadVPN/AppDelegate.swift +++ b/ios/MullvadVPN/AppDelegate.swift @@ -49,7 +49,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD nonisolated(unsafe) private(set) var accessMethodRepository = AccessMethodRepository() private(set) var appPreferences = AppPreferences() private(set) var shadowsocksLoader: ShadowsocksLoader! - private(set) var configuredTransportProvider: ProxyConfigurationTransportProvider! private(set) var ipOverrideRepository = IPOverrideRepository() private(set) var relaySelector: RelaySelectorWrapper! private var launchArguments = LaunchArguments() @@ -164,12 +163,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD let urlSessionTransport = URLSessionTransport(urlSession: REST.makeURLSession(addressCache: addressCache)) encryptedDNSTransport = EncryptedDNSTransport(urlSession: urlSessionTransport.urlSession) - configuredTransportProvider = ProxyConfigurationTransportProvider( - shadowsocksLoader: shadowsocksLoader, - addressCache: addressCache, - encryptedDNSTransport: encryptedDNSTransport - ) - let transportProvider = TransportProvider( urlSessionTransport: urlSessionTransport, addressCache: addressCache, diff --git a/ios/MullvadVPN/Coordinators/ApplicationCoordinator.swift b/ios/MullvadVPN/Coordinators/ApplicationCoordinator.swift index 952457a926..70559ac2f8 100644 --- a/ios/MullvadVPN/Coordinators/ApplicationCoordinator.swift +++ b/ios/MullvadVPN/Coordinators/ApplicationCoordinator.swift @@ -52,7 +52,6 @@ final class ApplicationCoordinator: Coordinator, Presenting, @preconcurrency Roo private var appPreferences: AppPreferencesDataSource private var outgoingConnectionService: OutgoingConnectionServiceHandling private var accessMethodRepository: AccessMethodRepositoryProtocol - private let configuredTransportProvider: ProxyConfigurationTransportProvider private let ipOverrideRepository: IPOverrideRepository private let relaySelectorWrapper: RelaySelectorWrapper @@ -72,7 +71,6 @@ final class ApplicationCoordinator: Coordinator, Presenting, @preconcurrency Roo outgoingConnectionService: OutgoingConnectionServiceHandling, appPreferences: AppPreferencesDataSource, accessMethodRepository: AccessMethodRepositoryProtocol, - transportProvider: ProxyConfigurationTransportProvider, ipOverrideRepository: IPOverrideRepository, relaySelectorWrapper: RelaySelectorWrapper @@ -86,7 +84,6 @@ final class ApplicationCoordinator: Coordinator, Presenting, @preconcurrency Roo self.appPreferences = appPreferences self.outgoingConnectionService = outgoingConnectionService self.accessMethodRepository = accessMethodRepository - self.configuredTransportProvider = transportProvider self.ipOverrideRepository = ipOverrideRepository self.relaySelectorWrapper = relaySelectorWrapper @@ -588,7 +585,6 @@ final class ApplicationCoordinator: Coordinator, Presenting, @preconcurrency Roo navigationController.view.setAccessibilityIdentifier(.settingsContainerView) let configurationTester = ProxyConfigurationTester( - transportProvider: configuredTransportProvider, apiProxy: apiProxy ) diff --git a/ios/MullvadVPN/SceneDelegate.swift b/ios/MullvadVPN/SceneDelegate.swift index c113c6514e..e84a80334c 100644 --- a/ios/MullvadVPN/SceneDelegate.swift +++ b/ios/MullvadVPN/SceneDelegate.swift @@ -80,7 +80,6 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate, @preconcurrency Setting ), appPreferences: appDelegate.appPreferences, accessMethodRepository: accessMethodRepository, - transportProvider: appDelegate.configuredTransportProvider, ipOverrideRepository: appDelegate.ipOverrideRepository, relaySelectorWrapper: appDelegate.relaySelector ) |
