diff options
author | 2018-12-11 16:12:04 -0600 | |
---|---|---|
committer | 2018-12-11 16:12:04 -0600 | |
commit | 27265fc22231c5418f28c58b08d43344f10e26cb (patch) | |
tree | 6de72a7a38d7eeedfff32a972dacaf09eea82214 /WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift | |
parent | Revert pure-go network monitoring and add wgSetConfig (diff) | |
download | wireguard-apple-27265fc22231c5418f28c58b08d43344f10e26cb.tar.xz wireguard-apple-27265fc22231c5418f28c58b08d43344f10e26cb.zip |
Added an (unfinished) NWPathMonitor implementation for reconnecting on network changes
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
Diffstat (limited to 'WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift')
-rw-r--r-- | WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift b/WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift index 4007196..906aea9 100644 --- a/WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift +++ b/WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift @@ -15,6 +15,20 @@ class PacketTunnelSettingsGenerator { self.resolvedEndpoints = resolvedEndpoints } + func endpointFromSettings() -> String { + var wgSettings = "listen_port=\(tunnelConfiguration.interface.listenPort ?? 0)\n" + + for (i, peer) in tunnelConfiguration.peers.enumerated() { + wgSettings.append("public_key=\(peer.publicKey.hexEncodedString())\n") + if let endpoint = resolvedEndpoints[i] { + if case .name(_, _) = endpoint.host { assert(false, "Endpoint is not resolved") } + wgSettings.append("endpoint=\(endpoint.stringRepresentation())\n") + } + } + + return wgSettings + } + func generateWireGuardSettings() -> String { var wgSettings = "" let privateKey = tunnelConfiguration.interface.privateKey.hexEncodedString() |