diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-06-28 12:06:58 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-06-28 12:07:18 +0200 |
commit | 26b7971ba6ccfcf243a9b3a6606e94a758d32375 (patch) | |
tree | 81c3b40171a6d2d76db9d6f1d1282274163ff04e /WireGuard | |
parent | iOS: Importing: If tunnelsManager isn't ready yet, we should wait for it (diff) | |
download | wireguard-apple-26b7971ba6ccfcf243a9b3a6606e94a758d32375.tar.xz wireguard-apple-26b7971ba6ccfcf243a9b3a6606e94a758d32375.zip |
UI: macOS: Show useful error message on .conf import
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'WireGuard')
-rw-r--r-- | WireGuard/WireGuard/UI/TunnelImporter.swift | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/WireGuard/WireGuard/UI/TunnelImporter.swift b/WireGuard/WireGuard/UI/TunnelImporter.swift index cf05ff9..46f2c92 100644 --- a/WireGuard/WireGuard/UI/TunnelImporter.swift +++ b/WireGuard/WireGuard/UI/TunnelImporter.swift @@ -44,10 +44,20 @@ class TunnelImporter { } return } - let tunnelConfiguration = try? TunnelConfiguration(fromWgQuickConfig: fileContents, called: fileBaseName) + var parseError: Error? + var tunnelConfiguration: TunnelConfiguration? + do { + tunnelConfiguration = try TunnelConfiguration(fromWgQuickConfig: fileContents, called: fileBaseName) + } catch let error { + parseError = error + } DispatchQueue.main.async { - if tunnelConfiguration == nil { - lastFileImportErrorText = (title: tr("alertBadConfigImportTitle"), message: tr(format: "alertBadConfigImportMessage (%@)", fileName)) + if parseError != nil { + if let parseError = parseError as? WireGuardAppError { + lastFileImportErrorText = parseError.alertText + } else { + lastFileImportErrorText = (title: tr("alertBadConfigImportTitle"), message: tr(format: "alertBadConfigImportMessage (%@)", fileName)) + } } configs.append(tunnelConfiguration) dispatchGroup.leave() |