diff options
Diffstat (limited to 'WireGuard/Shared/Model/Legacy/LegacyIPAddressRange.swift')
-rw-r--r-- | WireGuard/Shared/Model/Legacy/LegacyIPAddressRange.swift | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/WireGuard/Shared/Model/Legacy/LegacyIPAddressRange.swift b/WireGuard/Shared/Model/Legacy/LegacyIPAddressRange.swift deleted file mode 100644 index ade87f2..0000000 --- a/WireGuard/Shared/Model/Legacy/LegacyIPAddressRange.swift +++ /dev/null @@ -1,57 +0,0 @@ -// SPDX-License-Identifier: MIT -// Copyright © 2018 WireGuard LLC. All Rights Reserved. - -import Foundation -import Network - -struct LegacyIPAddressRange: Codable { - let address: IPAddress - let networkPrefixLength: UInt8 - - public init(from decoder: Decoder) throws { - let container = try decoder.singleValueContainer() - var data = try container.decode(Data.self) - networkPrefixLength = data.removeLast() - let ipAddressFromData: IPAddress? = { - switch data.count { - case 4: return IPv4Address(data) - case 16: return IPv6Address(data) - default: return nil - } - }() - guard let ipAddress = ipAddressFromData else { throw DecodingError.invalidData } - address = ipAddress - } - - public func encode(to encoder: Encoder) throws { - var container = encoder.singleValueContainer() - let addressDataLength: Int - if address is IPv4Address { - addressDataLength = 4 - } else if address is IPv6Address { - addressDataLength = 16 - } else { - fatalError() - } - var data = Data(capacity: addressDataLength + 1) - data.append(address.rawValue) - data.append(networkPrefixLength) - try container.encode(data) - } - - enum DecodingError: Error { - case invalidData - } -} - -extension LegacyIPAddressRange { - var migrated: IPAddressRange { - return IPAddressRange(address: address, networkPrefixLength: networkPrefixLength) - } -} - -extension Array where Element == LegacyIPAddressRange { - var migrated: [IPAddressRange] { - return map { $0.migrated } - } -} |