From: Roopesh Chander Date: Tue, 6 Nov 2018 19:05:37 +0000 (+0530) Subject: Importing: Assume imported files without .conf or .zip extensions to be a config... X-Git-Tag: 0.0.20181104-3~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f9dcfc1b9da363d3437c7d61792ecfcc7d394eba;p=thirdparty%2Fwireguard-apple.git Importing: Assume imported files without .conf or .zip extensions to be a config file Signed-off-by: Roopesh Chander --- diff --git a/WireGuard/WireGuard/UI/iOS/TunnelsListTableViewController.swift b/WireGuard/WireGuard/UI/iOS/TunnelsListTableViewController.swift index b6c25ae..b822f2b 100644 --- a/WireGuard/WireGuard/UI/iOS/TunnelsListTableViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/TunnelsListTableViewController.swift @@ -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) } } }