aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuardNetworkExtension/PacketTunnelProvider.swift
diff options
context:
space:
mode:
authorJeroen Leenarts <jeroen.leenarts@gmail.com>2018-08-17 22:06:39 +0200
committerJeroen Leenarts <jeroen.leenarts@gmail.com>2018-08-17 22:07:01 +0200
commitc2b591cc4428e4ccf246d8dfb0814c85231e6253 (patch)
treece686daa64c9e2f049a6f43f486f60bb56f8c256 /WireGuardNetworkExtension/PacketTunnelProvider.swift
parentExtend validators to work for DNS entries as well. (diff)
downloadwireguard-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>
Diffstat (limited to '')
-rw-r--r--WireGuardNetworkExtension/PacketTunnelProvider.swift7
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
}