NetworkExtension: use excludedRoutes instead of binding on iOS

The networking stack there is to flaky and the notifier doesn't always
fire correctly. Hopefully excludedRoutes works well with XLAT; otherwise
we're in trouble.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jason A. Donenfeld
2019-05-25 13:48:51 +02:00
committed by Roopesh Chander
parent c30d491edc
commit 813dea6902
2 changed files with 25 additions and 1 deletions
@@ -147,7 +147,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
if let packetTunnelSettingsGenerator = packetTunnelSettingsGenerator {
_ = packetTunnelSettingsGenerator.endpointUapiConfiguration().withGoString { return wgSetConfig(handle, $0) }
}
#endif
#elseif os(macOS)
var interfaces = path.availableInterfaces
if let ifname = ifname {
interfaces = interfaces.filter { $0.name != ifname }
@@ -155,6 +155,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
if let ifscope = interfaces.first?.index {
wgBindInterfaceScope(handle, Int32(ifscope))
}
#endif
}
}