diff options
author | Jeroen Leenarts <jeroen.leenarts@gmail.com> | 2018-08-14 21:40:20 +0200 |
---|---|---|
committer | Jeroen Leenarts <jeroen.leenarts@gmail.com> | 2018-08-14 21:40:20 +0200 |
commit | 335907309c8209b4a4d49167a40d4a22c6013f3a (patch) | |
tree | bb02f4bfe223c427bc134a45c8f5b0a2022a9b3e /WireGuardNetworkExtension/PacketTunnelProvider.swift | |
parent | Use config key for DNS config setting. (diff) | |
download | wireguard-apple-335907309c8209b4a4d49167a40d4a22c6013f3a.tar.xz wireguard-apple-335907309c8209b4a4d49167a40d4a22c6013f3a.zip |
Make sure the reference is not nil to packet flow. Thanks go out to "The Eskimo".
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r-- | WireGuardNetworkExtension/PacketTunnelProvider.swift | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/WireGuardNetworkExtension/PacketTunnelProvider.swift b/WireGuardNetworkExtension/PacketTunnelProvider.swift index a86bad2..a885a41 100644 --- a/WireGuardNetworkExtension/PacketTunnelProvider.swift +++ b/WireGuardNetworkExtension/PacketTunnelProvider.swift @@ -41,7 +41,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider { //TODO: Hardcoded values for addresses let ipv4Settings = NEIPv4Settings(addresses: ["10.50.10.171"], subnetMasks: ["255.255.224.0"]) //TODO: Hardcoded values for allowed ips - ipv4Settings.includedRoutes = [NEIPv4Route(destinationAddress: "0.0.0.0", subnetMask: "0.0.0.0")] + ipv4Settings.includedRoutes = [NEIPv4Route.default()] ipv4Settings.excludedRoutes = endpoints.split(separator: ",").compactMap { $0.split(separator: ":").first}.map {NEIPv4Route(destinationAddress: String($0), subnetMask: "255.255.255.255")} //TODO IPv6 settings @@ -58,12 +58,14 @@ class PacketTunnelProvider: NEPacketTunnelProvider { } setTunnelNetworkSettings(newSettings) { [weak self](error) in - completionHandler(error) + self?.wireGuardWrapper.packetFlow = self?.packetFlow self?.wireGuardWrapper.configured = true self?.wireGuardWrapper.startReadingPackets() + completionHandler(error) } } else { + self.wireGuardWrapper.packetFlow = self.packetFlow completionHandler(PacketTunnelProviderError.tunnelSetupFailed) wireGuardWrapper.configured = false } |