aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift12
1 files changed, 10 insertions, 2 deletions
diff --git a/WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift b/WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift
index f203e09..d994dcb 100644
--- a/WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift
+++ b/WireGuard/WireGuard/UI/iOS/TunnelEditTableViewController.swift
@@ -141,8 +141,16 @@ extension TunnelEditTableViewController {
if (field == .generateKeyPair) {
let cell = tableView.dequeueReusableCell(withIdentifier: TunnelsEditTableViewButtonCell.id, for: indexPath) as! TunnelsEditTableViewButtonCell
cell.buttonText = field.rawValue
- cell.onTapped = {
- print("Generating keypair is unimplemented") // TODO
+ cell.onTapped = { [weak self, weak interfaceData] in
+ if let interfaceData = interfaceData, let s = self {
+ interfaceData[.privateKey] = Curve25519.generatePrivateKey().base64EncodedString()
+ if let privateKeyRow = s.interfaceFieldsBySection[section].firstIndex(of: .privateKey),
+ let publicKeyRow = s.interfaceFieldsBySection[section].firstIndex(of: .publicKey) {
+ let privateKeyIndex = IndexPath(row: privateKeyRow, section: section)
+ let publicKeyIndex = IndexPath(row: publicKeyRow, section: section)
+ s.tableView.reloadRows(at: [privateKeyIndex, publicKeyIndex], with: .automatic)
+ }
+ }
}
return cell
} else {