]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
Importing: Assume imported files without .conf or .zip extensions to be a config...
authorRoopesh Chander <roop@roopc.net>
Tue, 6 Nov 2018 19:05:37 +0000 (00:35 +0530)
committerRoopesh Chander <roop@roopc.net>
Tue, 6 Nov 2018 19:05:37 +0000 (00:35 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/UI/iOS/TunnelsListTableViewController.swift

index b6c25aeb7a25f318d237e22c9f659dd0b1353bc9..b822f2bc3e962c1c6ad3b8008831fac935e5ee61 100644 (file)
@@ -175,9 +175,9 @@ class TunnelsListTableViewController: UIViewController {
         self.present(alert, animated: true, completion: nil)
     }
 
-    func importFromFile(url: URL) {
+    func importFromFile(url: URL, shouldConsiderAsConfigEvenWithoutExtensionMatch: Bool = false) {
         // Import configurations from a .conf or a .zip file
-        if (url.pathExtension == "conf") {
+        if (url.pathExtension == "conf" || shouldConsiderAsConfigEvenWithoutExtensionMatch) {
             let fileBaseName = url.deletingPathExtension().lastPathComponent.trimmingCharacters(in: .whitespacesAndNewlines)
             if let fileContents = try? String(contentsOf: url),
                 let tunnelConfiguration = try? WgQuickConfigFileParser.parse(fileContents, name: fileBaseName) {
@@ -254,9 +254,9 @@ extension TunnelsListTableViewController: UIDocumentPickerDelegate {
             if (url.pathExtension == "conf" || url.pathExtension == "zip") {
                 importFromFile(url: url)
             } else {
-                // What if a file provider extension didn't respect our 'documentTypes' parameter
-                self.showErrorAlert(title: "Invalid file extension",
-                                    message: "Please select a WireGuard configuration file (.conf) or a zip archive (.zip) for importing")
+                // In case a file provider extension didn't respect our 'documentTypes' parameter,
+                // we'll still assume it's a config file.
+                importFromFile(url: url, shouldConsiderAsConfigEvenWithoutExtensionMatch: true)
             }
         }
     }