]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
Importing: Error out on file with unsupported file extension
authorRoopesh Chander <roop@roopc.net>
Tue, 6 Nov 2018 17:02:10 +0000 (22:32 +0530)
committerRoopesh Chander <roop@roopc.net>
Tue, 6 Nov 2018 17:02:33 +0000 (22:32 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/UI/iOS/TunnelsListTableViewController.swift

index 7e06bcecb57549e5eb3c722067d3f247036d279d..bd067c89dc3d358d2adc400b690dab6cdbb30ee8 100644 (file)
@@ -240,6 +240,8 @@ class TunnelsListTableViewController: UIViewController {
                 self?.showErrorAlert(title: "Created \(numberSuccessful) tunnels",
                     message: "Created \(numberSuccessful) of \(unarchivedFiles.count) tunnels from zip archive")
             }
+        } else {
+            fatalError("Unsupported file extension")
         }
     }
 }
@@ -249,7 +251,13 @@ class TunnelsListTableViewController: UIViewController {
 extension TunnelsListTableViewController: UIDocumentPickerDelegate {
     func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
         if let url = urls.first {
-            importFromFile(url: url)
+            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")
+            }
         }
     }
 }