diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-01-24 00:00:46 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-01-24 01:37:57 +0100 |
commit | 22625e8cc4792a71174af5fc69f0f63ba4b808d8 (patch) | |
tree | 2907ae3cde1b5d61acc831374058e9c4bde4b9f0 /WireGuard/WireGuard/UI | |
parent | wireguard-go-bridge: allow querying internal settings (diff) | |
download | wireguard-apple-22625e8cc4792a71174af5fc69f0f63ba4b808d8.tar.xz wireguard-apple-22625e8cc4792a71174af5fc69f0f63ba4b808d8.zip |
Tunnel: support getting runtime configuration
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'WireGuard/WireGuard/UI')
-rw-r--r-- | WireGuard/WireGuard/UI/TunnelViewModel.swift | 18 | ||||
-rw-r--r-- | WireGuard/WireGuard/UI/macOS/ParseError+WireGuardAppError.swift | 4 |
2 files changed, 22 insertions, 0 deletions
diff --git a/WireGuard/WireGuard/UI/TunnelViewModel.swift b/WireGuard/WireGuard/UI/TunnelViewModel.swift index 07d1bac..9124a00 100644 --- a/WireGuard/WireGuard/UI/TunnelViewModel.swift +++ b/WireGuard/WireGuard/UI/TunnelViewModel.swift @@ -40,6 +40,9 @@ class TunnelViewModel { case endpoint case persistentKeepAlive case allowedIPs + case rxBytes + case txBytes + case lastHandshakeTime case excludePrivateIPs case deletePeer @@ -50,6 +53,9 @@ class TunnelViewModel { case .endpoint: return tr("tunnelPeerEndpoint") case .persistentKeepAlive: return tr("tunnelPeerPersistentKeepalive") case .allowedIPs: return tr("tunnelPeerAllowedIPs") + case .rxBytes: return tr("tunnelPeerRxBytes") + case .txBytes: return tr("tunnelPeerTxBytes") + case .lastHandshakeTime: return tr("tunnelPeerLastHandshakeTime") case .excludePrivateIPs: return tr("tunnelPeerExcludePrivateIPs") case .deletePeer: return tr("deletePeerButtonTitle") } @@ -248,6 +254,18 @@ class TunnelViewModel { if let persistentKeepAlive = config.persistentKeepAlive { scratchpad[.persistentKeepAlive] = String(persistentKeepAlive) } + // TODO(roopc): These next 3 fields should be prettier + // - bytes() in https://git.zx2c4.com/WireGuard/tree/src/tools/show.c#n185 + // - ago() in https://git.zx2c4.com/WireGuard/tree/src/tools/show.c#n158 + if let rxBytes = config.rxBytes { + scratchpad[.rxBytes] = String(rxBytes) + } + if let txBytes = config.txBytes { + scratchpad[.txBytes] = String(txBytes) + } + if let lastHandshakeTime = config.lastHandshakeTime { + scratchpad[.lastHandshakeTime] = lastHandshakeTime.description + } updateExcludePrivateIPsFieldState() } diff --git a/WireGuard/WireGuard/UI/macOS/ParseError+WireGuardAppError.swift b/WireGuard/WireGuard/UI/macOS/ParseError+WireGuardAppError.swift index 9f2c009..6afbadb 100644 --- a/WireGuard/WireGuard/UI/macOS/ParseError+WireGuardAppError.swift +++ b/WireGuard/WireGuard/UI/macOS/ParseError+WireGuardAppError.swift @@ -43,6 +43,10 @@ extension TunnelConfiguration.ParseError: WireGuardAppError { return (tr(format: "macAlertPersistentKeepliveInvalid (%@)", value), tr("alertInvalidPeerMessagePersistentKeepaliveInvalid")) case .peerHasUnrecognizedKey(let value): return (tr(format: "macAlertUnrecognizedPeerKey (%@)", value), tr("macAlertInfoUnrecognizedPeerKey")) + case .peerHasInvalidTransferBytes(let line): + return (tr(format: "macAlertInvalidLine (%@)", String(line)), "") + case .peerHasInvalidLastHandshakeTime(let line): + return (tr(format: "macAlertInvalidLine (%@)", String(line)), "") case .multiplePeersWithSamePublicKey: return (tr("alertInvalidPeerMessagePublicKeyDuplicated"), "") case .multipleEntriesForKey(let value): |