From 6e5f6d93609570b403e2eb13e06d263e2ac99c32 Mon Sep 17 00:00:00 2001 From: Bob Sun Date: Mon, 6 Feb 2017 13:25:27 +0800 Subject: [PATCH] add PGP key url check --- pass/Base.lproj/Main.storyboard | 2 +- pass/PGPKeySettingTableViewController.swift | 13 +++++++++++++ pass/SettingsTableViewController.swift | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/pass/Base.lproj/Main.storyboard b/pass/Base.lproj/Main.storyboard index f82392e..5a796b3 100644 --- a/pass/Base.lproj/Main.storyboard +++ b/pass/Base.lproj/Main.storyboard @@ -485,7 +485,7 @@ - + diff --git a/pass/PGPKeySettingTableViewController.swift b/pass/PGPKeySettingTableViewController.swift index 86265ec..ee4bcdb 100644 --- a/pass/PGPKeySettingTableViewController.swift +++ b/pass/PGPKeySettingTableViewController.swift @@ -19,4 +19,17 @@ class PGPKeySettingTableViewController: UITableViewController { pgpKeyURLTextField.text = Defaults[.pgpKeyURL]?.absoluteString pgpKeyPassphraseTextField.text = Defaults[.pgpKeyPassphrase] } + + override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { + if identifier == "savePGPKeySegue" { + if URL(string: pgpKeyURLTextField.text!)!.scheme! == "http" { + let alertMessage = "HTTP connection is not supported." + let alert = UIAlertController(title: "Cannot Save Settings", message: alertMessage, preferredStyle: UIAlertControllerStyle.alert) + alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil)) + self.present(alert, animated: true, completion: nil) + return false + } + } + return true + } } diff --git a/pass/SettingsTableViewController.swift b/pass/SettingsTableViewController.swift index e30749a..0992f70 100644 --- a/pass/SettingsTableViewController.swift +++ b/pass/SettingsTableViewController.swift @@ -75,9 +75,9 @@ class SettingsTableViewController: UITableViewController { } } } else if let controller = segue.source as? PGPKeySettingTableViewController { + if Defaults[.pgpKeyURL] != URL(string: controller.pgpKeyURLTextField.text!) || - Defaults[.pgpKeyPassphrase] != controller.pgpKeyPassphraseTextField.text! - { + Defaults[.pgpKeyPassphrase] != controller.pgpKeyPassphraseTextField.text! { Defaults[.pgpKeyURL] = URL(string: controller.pgpKeyURLTextField.text!) Defaults[.pgpKeyPassphrase] = controller.pgpKeyPassphraseTextField.text!