Parse routing policies for TunnelKitProvider
This commit is contained in:
parent
f9f642b64e
commit
7382616e8b
|
@ -176,6 +176,14 @@ extension TunnelKitProvider {
|
||||||
sessionConfigurationBuilder.httpsProxy = proxy
|
sessionConfigurationBuilder.httpsProxy = proxy
|
||||||
}
|
}
|
||||||
sessionConfigurationBuilder.proxyBypassDomains = providerConfiguration[S.proxyBypassDomains] as? [String]
|
sessionConfigurationBuilder.proxyBypassDomains = providerConfiguration[S.proxyBypassDomains] as? [String]
|
||||||
|
if let routingPoliciesStrings = providerConfiguration[S.routingPolicies] as? [String], !routingPoliciesStrings.isEmpty {
|
||||||
|
sessionConfigurationBuilder.routingPolicies = try routingPoliciesStrings.map {
|
||||||
|
guard let policy = SessionProxy.RoutingPolicy(rawValue: $0) else {
|
||||||
|
throw ProviderConfigurationError.parameter(name: "protocolConfiguration.providerConfiguration[\(S.routingPolicies)] has a badly formed element")
|
||||||
|
}
|
||||||
|
return policy
|
||||||
|
}
|
||||||
|
}
|
||||||
sessionConfiguration = sessionConfigurationBuilder.build()
|
sessionConfiguration = sessionConfigurationBuilder.build()
|
||||||
|
|
||||||
shouldDebug = providerConfiguration[S.debug] as? Bool ?? ConfigurationBuilder.defaults.shouldDebug
|
shouldDebug = providerConfiguration[S.debug] as? Bool ?? ConfigurationBuilder.defaults.shouldDebug
|
||||||
|
@ -259,6 +267,8 @@ extension TunnelKitProvider {
|
||||||
|
|
||||||
static let proxyBypassDomains = "ProxyBypassDomains"
|
static let proxyBypassDomains = "ProxyBypassDomains"
|
||||||
|
|
||||||
|
static let routingPolicies = "RoutingPolicies"
|
||||||
|
|
||||||
// MARK: Debugging
|
// MARK: Debugging
|
||||||
|
|
||||||
static let debug = "Debug"
|
static let debug = "Debug"
|
||||||
|
@ -471,6 +481,9 @@ extension TunnelKitProvider {
|
||||||
if let proxyBypassDomains = sessionConfiguration.proxyBypassDomains {
|
if let proxyBypassDomains = sessionConfiguration.proxyBypassDomains {
|
||||||
dict[S.proxyBypassDomains] = proxyBypassDomains
|
dict[S.proxyBypassDomains] = proxyBypassDomains
|
||||||
}
|
}
|
||||||
|
if let routingPolicies = sessionConfiguration.routingPolicies {
|
||||||
|
dict[S.routingPolicies] = routingPolicies.map { $0.rawValue }
|
||||||
|
}
|
||||||
//
|
//
|
||||||
if let resolvedAddresses = resolvedAddresses {
|
if let resolvedAddresses = resolvedAddresses {
|
||||||
dict[S.resolvedAddresses] = resolvedAddresses
|
dict[S.resolvedAddresses] = resolvedAddresses
|
||||||
|
@ -559,6 +572,12 @@ extension TunnelKitProvider {
|
||||||
if sessionConfiguration.randomizeEndpoint ?? false {
|
if sessionConfiguration.randomizeEndpoint ?? false {
|
||||||
log.info("\tRandomize endpoint: true")
|
log.info("\tRandomize endpoint: true")
|
||||||
}
|
}
|
||||||
|
// FIXME: refine logging of other routing policies
|
||||||
|
if let routingPolicies = sessionConfiguration.routingPolicies {
|
||||||
|
log.info("\tDefault gateway: \(routingPolicies.map { $0.rawValue })")
|
||||||
|
} else {
|
||||||
|
log.info("\tDefault gateway: no")
|
||||||
|
}
|
||||||
if let dnsServers = sessionConfiguration.dnsServers {
|
if let dnsServers = sessionConfiguration.dnsServers {
|
||||||
log.info("\tDNS servers: \(dnsServers.maskedDescription)")
|
log.info("\tDNS servers: \(dnsServers.maskedDescription)")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue