aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift
diff options
context:
space:
mode:
authorEric Kuck <eric@bluelinelabs.com>2018-12-11 16:12:04 -0600
committerEric Kuck <eric@bluelinelabs.com>2018-12-11 16:12:04 -0600
commit27265fc22231c5418f28c58b08d43344f10e26cb (patch)
tree6de72a7a38d7eeedfff32a972dacaf09eea82214 /WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift
parentRevert pure-go network monitoring and add wgSetConfig (diff)
downloadwireguard-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 '')
-rw-r--r--WireGuard/WireGuardNetworkExtension/PacketTunnelSettingsGenerator.swift14
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()