diff options
author | Jeroen Leenarts <jeroen.leenarts@gmail.com> | 2018-08-17 22:06:39 +0200 |
---|---|---|
committer | Jeroen Leenarts <jeroen.leenarts@gmail.com> | 2018-08-17 22:07:01 +0200 |
commit | c2b591cc4428e4ccf246d8dfb0814c85231e6253 (patch) | |
tree | ce686daa64c9e2f049a6f43f486f60bb56f8c256 | |
parent | Extend validators to work for DNS entries as well. (diff) | |
download | wireguard-apple-c2b591cc4428e4ccf246d8dfb0814c85231e6253.tar.xz wireguard-apple-c2b591cc4428e4ccf246d8dfb0814c85231e6253.zip |
Use first peer's endpoint as the tunnel remote address.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r-- | WireGuardNetworkExtension/PacketTunnelProvider.swift | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/WireGuardNetworkExtension/PacketTunnelProvider.swift b/WireGuardNetworkExtension/PacketTunnelProvider.swift index 52752fd..d402aa1 100644 --- a/WireGuardNetworkExtension/PacketTunnelProvider.swift +++ b/WireGuardNetworkExtension/PacketTunnelProvider.swift @@ -37,9 +37,9 @@ class PacketTunnelProvider: NEPacketTunnelProvider { let validatedEndpoints = endpoints.commaSeparatedToArray().compactMap { try? Endpoint(endpointString: String($0)) }.compactMap {$0} let validatedAddresses = addresses.compactMap { try? CIDRAddress(stringRepresentation: String($0)) }.compactMap { $0 } - if wireGuardWrapper.turnOn(withInterfaceName: interfaceName, settingsString: settings) { - //TODO: Hardcoded values for tunnelRemoteAddress - let newSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: "149.248.160.60") + if let firstEndpoint = validatedEndpoints.first, wireGuardWrapper.turnOn(withInterfaceName: interfaceName, settingsString: settings) { + // We use the first endpoint for the ipAddress + let newSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: firstEndpoint.ipAddress) newSettings.tunnelOverheadBytes = 80 // IPv4 settings @@ -78,7 +78,6 @@ class PacketTunnelProvider: NEPacketTunnelProvider { } } else { - self.wireGuardWrapper.packetFlow = self.packetFlow completionHandler(PacketTunnelProviderError.tunnelSetupFailed) wireGuardWrapper.configured = false } |