Catch WireGuard parsing errors properly (#279)
They could be reported as OpenVPN errors.
This commit is contained in:
parent
7f9ae7c3bc
commit
e050c0c8df
|
@ -51,7 +51,7 @@
|
|||
"repositoryURL": "https://github.com/passepartoutvpn/tunnelkit",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "7ce254be0293ba7e1eeda07a3701804de59f7490",
|
||||
"revision": "8f066a9e4821f041693c8262ba01ef49ab0084ae",
|
||||
"version": null
|
||||
}
|
||||
},
|
||||
|
@ -61,7 +61,7 @@
|
|||
"state": {
|
||||
"branch": null,
|
||||
"revision": "73d9152fa0cb661db0348a1ac11dbbf998422a50",
|
||||
"version": null
|
||||
"version": "1.0.17"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -179,13 +179,15 @@ extension Error {
|
|||
extension Error {
|
||||
var localizedVPNParsingDescription: String? {
|
||||
if let ovpnError = self as? OpenVPN.ConfigurationError {
|
||||
return ovpnErrorDescription(ovpnError)
|
||||
return ovpnConfigurationErrorDescription(ovpnError)
|
||||
} else if let wgError = self as? WireGuard.ConfigurationError {
|
||||
return wgConfigurationErrorDescription(wgError)
|
||||
}
|
||||
pp_log.error("Could not parse configuration URL: \(localizedDescription)")
|
||||
return L10n.Tunnelkit.Errors.parsing(localizedDescription)
|
||||
}
|
||||
|
||||
private func ovpnErrorDescription(_ error: OpenVPN.ConfigurationError) -> String {
|
||||
private func ovpnConfigurationErrorDescription(_ error: OpenVPN.ConfigurationError) -> String {
|
||||
let V = L10n.Tunnelkit.Errors.Openvpn.self
|
||||
switch error {
|
||||
case .encryptionPassphrase:
|
||||
|
@ -212,4 +214,8 @@ extension Error {
|
|||
return V.unsupportedOption(option)
|
||||
}
|
||||
}
|
||||
|
||||
private func wgConfigurationErrorDescription(_ error: WireGuard.ConfigurationError) -> String {
|
||||
error.localizedDescription
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ let package = Package(
|
|||
// Dependencies declare other packages that this package depends on.
|
||||
// .package(url: /* package url */, from: "1.0.0"),
|
||||
// .package(name: "TunnelKit", url: "https://github.com/passepartoutvpn/tunnelkit", from: "5.0.0"),
|
||||
.package(name: "TunnelKit", url: "https://github.com/passepartoutvpn/tunnelkit", .revision("7ce254be0293ba7e1eeda07a3701804de59f7490")),
|
||||
.package(name: "TunnelKit", url: "https://github.com/passepartoutvpn/tunnelkit", .revision("8f066a9e4821f041693c8262ba01ef49ab0084ae")),
|
||||
// .package(name: "TunnelKit", path: "../../tunnelkit"),
|
||||
.package(url: "https://github.com/zoul/generic-json-swift", from: "2.0.0"),
|
||||
.package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver", from: "1.9.0")
|
||||
|
|
|
@ -37,7 +37,7 @@ extension ProfileManager {
|
|||
do {
|
||||
let wg = try WireGuard.Configuration(wgQuickConfig: contents)
|
||||
return Profile(header, configuration: wg)
|
||||
} catch {
|
||||
} catch WireGuard.ConfigurationError.invalidLine {
|
||||
throw ovpnError
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue