Raise exception on unrecognized option values

Do not fall back when an unhandled value is found in:

- cipher
- auth
- proto

Falling back to a default value here would break the data
connection most of the time.
This commit is contained in:
Davide De Rosa 2018-10-18 10:23:46 +02:00
parent e0e44c4150
commit 4774c2705f
1 changed files with 9 additions and 0 deletions

View File

@ -132,6 +132,9 @@ extension TunnelKitProvider.Configuration {
return
}
defaultProto = TunnelKitProvider.SocketType(protoString: str)
if defaultProto == nil {
unsupportedError = ApplicationError.unsupportedConfiguration(option: "proto \(str)")
}
}
Regex.port.enumerateArguments(in: line) {
guard let str = $0.first else {
@ -158,12 +161,18 @@ extension TunnelKitProvider.Configuration {
return
}
cipher = SessionProxy.Cipher(rawValue: rawValue.uppercased())
if cipher == nil {
unsupportedError = ApplicationError.unsupportedConfiguration(option: "cipher \(rawValue)")
}
}
Regex.auth.enumerateArguments(in: line) {
guard let rawValue = $0.first else {
return
}
digest = SessionProxy.Digest(rawValue: rawValue.uppercased())
if digest == nil {
unsupportedError = ApplicationError.unsupportedConfiguration(option: "auth \(rawValue)")
}
}
Regex.compLZO.enumerateComponents(in: line) { _ in
compressionFraming = .compLZO