diff options
| author | Bug Magnet <marco.nikic@mullvad.net> | 2023-12-04 14:44:47 +0100 |
|---|---|---|
| committer | Bug Magnet <marco.nikic@mullvad.net> | 2023-12-04 14:44:47 +0100 |
| commit | 12dc1935f4da9c081dc5bc8732efe62ba6c6d27b (patch) | |
| tree | c2959346fae14e317bdfcb81ec6e3740ee5b7e7a | |
| parent | d4ed3bfa3c76f826846a01961281f73c3ebfbc49 (diff) | |
| parent | 31de7a1ec47f1cfd2d43568e86fc0e1bf727a4d2 (diff) | |
| download | mullvadvpn-12dc1935f4da9c081dc5bc8732efe62ba6c6d27b.tar.xz mullvadvpn-12dc1935f4da9c081dc5bc8732efe62ba6c6d27b.zip | |
Merge branch 'add-another-settings-schema-version-due-to-changes-in-how-ios-403'
| -rw-r--r-- | ios/MullvadSettings/WireGuardObfuscationSettings.swift | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ios/MullvadSettings/WireGuardObfuscationSettings.swift b/ios/MullvadSettings/WireGuardObfuscationSettings.swift index 7259c97059..e55ac8538a 100644 --- a/ios/MullvadSettings/WireGuardObfuscationSettings.swift +++ b/ios/MullvadSettings/WireGuardObfuscationSettings.swift @@ -20,7 +20,7 @@ public enum WireGuardObfuscationState: Codable { /// The port to select when using UDP-over-TCP obfuscation /// /// `.automatic` means an algorith will decide between using `port80` or `port5001` -public enum WireGuardObfuscationPort: UInt16, Codable { +public enum WireGuardObfuscationPort: UInt16, Codable, CaseIterable { case automatic = 0 case port80 = 80 case port5001 = 5001 @@ -40,6 +40,14 @@ public enum WireGuardObfuscationPort: UInt16, Codable { default: self = .automatic } } + + public init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + let decodedValue = try? container.decode(UInt16.self) + + let port = WireGuardObfuscationPort.allCases.first(where: { $0.rawValue == decodedValue }) + self = port ?? .automatic + } } public struct WireGuardObfuscationSettings: Codable, Equatable { |
