From 0ae4b3bcf10f98c52a9545ff0bb944d0df9f3762 Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Wed, 24 Oct 2018 14:18:52 +0530 Subject: [PATCH] Tunnel creation: Generate key pair Signed-off-by: Roopesh Chander --- .../UI/iOS/TunnelEditTableViewController.swift | 12 ++++++++++-- 1 file 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 {