mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
refactor(apple): Use String subnetMask not prefix for IPv4Route (#4162)
The Swift API is not consistent.
This commit is contained in:
@@ -458,8 +458,12 @@ extension Adapter: CallbackHandlerDelegate {
|
||||
return
|
||||
}
|
||||
|
||||
networkSettings.routes4 = try! JSONDecoder().decode([NetworkSettings.Cidr].self, from: routeList4.data(using: .utf8)!).compactMap { $0.asNEIPv4Route }
|
||||
networkSettings.routes6 = try! JSONDecoder().decode([NetworkSettings.Cidr].self, from: routeList6.data(using: .utf8)!).compactMap { $0.asNEIPv6Route }
|
||||
networkSettings.routes4 = try! JSONDecoder().decode(
|
||||
[NetworkSettings.Cidr].self, from: routeList4.data(using: .utf8)!
|
||||
).compactMap { $0.asNEIPv4Route }
|
||||
networkSettings.routes6 = try! JSONDecoder().decode(
|
||||
[NetworkSettings.Cidr].self, from: routeList6.data(using: .utf8)!
|
||||
).compactMap { $0.asNEIPv6Route }
|
||||
|
||||
networkSettings.apply(on: packetTunnelProvider, logger: self.logger, completionHandler: nil)
|
||||
}
|
||||
|
||||
@@ -78,11 +78,11 @@ class NetworkSettings {
|
||||
|
||||
let ipv4Settings = NEIPv4Settings(
|
||||
addresses: [tunnelAddressIPv4], subnetMasks: ["255.255.255.255"])
|
||||
ipv4Settings.includedRoutes = self.routes4
|
||||
ipv4Settings.includedRoutes = self.routes4
|
||||
tunnelNetworkSettings.ipv4Settings = ipv4Settings
|
||||
|
||||
let ipv6Settings = NEIPv6Settings(addresses: [tunnelAddressIPv6], networkPrefixLengths: [128])
|
||||
ipv6Settings.includedRoutes = self.routes6
|
||||
ipv6Settings.includedRoutes = self.routes6
|
||||
tunnelNetworkSettings.ipv6Settings = ipv6Settings
|
||||
|
||||
let dnsSettings = NEDNSSettings(servers: dnsAddresses)
|
||||
@@ -154,18 +154,18 @@ enum IPv4SubnetMaskLookup {
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
extension NetworkSettings {
|
||||
struct Cidr: Codable {
|
||||
let address: String
|
||||
let prefix: Int
|
||||
let address: String
|
||||
let prefix: Int
|
||||
|
||||
var asNEIPv4Route: NEIPv4Route {
|
||||
return NEIPv4Route(destinationAddress: address, subnetMask: String(prefix))
|
||||
}
|
||||
var asNEIPv4Route: NEIPv4Route {
|
||||
return NEIPv4Route(
|
||||
destinationAddress: address, subnetMask: IPv4SubnetMaskLookup.table[prefix]!)
|
||||
}
|
||||
|
||||
var asNEIPv6Route: NEIPv6Route {
|
||||
return NEIPv6Route(destinationAddress: address, networkPrefixLength: NSNumber(value: prefix))
|
||||
}
|
||||
var asNEIPv6Route: NEIPv6Route {
|
||||
return NEIPv6Route(destinationAddress: address, networkPrefixLength: NSNumber(value: prefix))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user