summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls <emils@mullvad.net>2025-09-16 14:07:44 +0200
committerEmīls <emils@mullvad.net>2025-09-16 14:07:44 +0200
commit562bd5363b012612db3ef1a514329da2d3a3c3e8 (patch)
treee66d043ebc27680869508a2c3feafd6afb58640e
parent883d82f241cc067de811ae84d0f96b5da8dd41d8 (diff)
parenta693abbb7176fd7d1a604572667f8e6b22ba6577 (diff)
downloadmullvadvpn-562bd5363b012612db3ef1a514329da2d3a3c3e8.tar.xz
mullvadvpn-562bd5363b012612db3ef1a514329da2d3a3c3e8.zip
Merge branch 'fix-auto-selection'
-rw-r--r--ios/MullvadREST/Relay/ObfuscationMethodSelector.swift27
-rw-r--r--ios/MullvadVPNTests/MullvadREST/Relay/RelayObfuscatorTests.swift2
2 files changed, 15 insertions, 14 deletions
diff --git a/ios/MullvadREST/Relay/ObfuscationMethodSelector.swift b/ios/MullvadREST/Relay/ObfuscationMethodSelector.swift
index 166c955147..3e369f64e1 100644
--- a/ios/MullvadREST/Relay/ObfuscationMethodSelector.swift
+++ b/ios/MullvadREST/Relay/ObfuscationMethodSelector.swift
@@ -23,21 +23,22 @@ public struct ObfuscationMethodSelector {
tunnelSettings: LatestTunnelSettings,
obfuscationBypass: any ObfuscationProviding
) -> WireGuardObfuscationState {
- let selectedObfuscation: WireGuardObfuscationState =
- if tunnelSettings.wireGuardObfuscation.state == .automatic {
- if connectionAttemptCount.isOrdered(nth: 2, forEverySetOf: 4) {
- .shadowsocks
- } else if connectionAttemptCount.isOrdered(nth: 3, forEverySetOf: 4) {
- .quic
- } else if connectionAttemptCount.isOrdered(nth: 4, forEverySetOf: 4) {
- .udpOverTcp
- } else {
- .off
- }
+ if tunnelSettings.wireGuardObfuscation.state == .automatic {
+ let selectedObfuscation: WireGuardObfuscationState = if connectionAttemptCount.isOrdered(
+ nth: 2,
+ forEverySetOf: 4
+ ) {
+ .shadowsocks
+ } else if connectionAttemptCount.isOrdered(nth: 3, forEverySetOf: 4) {
+ .quic
+ } else if connectionAttemptCount.isOrdered(nth: 4, forEverySetOf: 4) {
+ .udpOverTcp
} else {
- tunnelSettings.wireGuardObfuscation.state
+ .off
}
- return obfuscationBypass.bypassUnsupportedObfuscation(selectedObfuscation)
+ return obfuscationBypass.bypassUnsupportedObfuscation(selectedObfuscation)
+ }
+ return tunnelSettings.wireGuardObfuscation.state
}
}
diff --git a/ios/MullvadVPNTests/MullvadREST/Relay/RelayObfuscatorTests.swift b/ios/MullvadVPNTests/MullvadREST/Relay/RelayObfuscatorTests.swift
index 0593c1a08d..028ddf82a3 100644
--- a/ios/MullvadVPNTests/MullvadREST/Relay/RelayObfuscatorTests.swift
+++ b/ios/MullvadVPNTests/MullvadREST/Relay/RelayObfuscatorTests.swift
@@ -244,7 +244,7 @@ final class RelayObfuscatorTests: XCTestCase {
// MARK: Obfuscation Bypass
func testObfuscatorBypass() throws {
- tunnelSettings.wireGuardObfuscation = WireGuardObfuscationSettings(state: .quic)
+ tunnelSettings.wireGuardObfuscation = WireGuardObfuscationSettings(state: .automatic)
let obfuscationResult = RelayObfuscator(
relays: sampleRelays,