summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBug Magnet <marco.nikic@mullvad.net>2025-09-08 13:06:59 +0200
committerBug Magnet <marco.nikic@mullvad.net>2025-09-08 13:34:08 +0200
commit05af92fde39e3a94a1a5ab227f350ab1a71fe487 (patch)
tree2c89b86bd334dd2831babab6a27b20514c177d51
parentee6cbd39534d5e2140bcd76ca87152043d34d01c (diff)
downloadmullvadvpn-05af92fde39e3a94a1a5ab227f350ab1a71fe487.tar.xz
mullvadvpn-05af92fde39e3a94a1a5ab227f350ab1a71fe487.zip
Remove ProxyConfigurationTransportProvider
-rw-r--r--ios/MullvadREST/Transport/ProxyConfigurationTransportProvider.swift66
-rw-r--r--ios/MullvadVPN.xcodeproj/project.pbxproj4
-rw-r--r--ios/MullvadVPN/AccessMethodRepository/ProxyConfigurationTester.swift6
-rw-r--r--ios/MullvadVPN/AppDelegate.swift7
-rw-r--r--ios/MullvadVPN/Coordinators/ApplicationCoordinator.swift4
-rw-r--r--ios/MullvadVPN/SceneDelegate.swift1
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
)