Parser: Interface name can be added after parsing

This commit is contained in:
Roopesh Chander 2018-10-25 07:03:24 +05:30
parent db72e9522a
commit d3a9e79149
1 changed files with 2 additions and 4 deletions

View File

@ -21,15 +21,13 @@ class WgQuickConfigFileParser {
// Based on the parser written by Eric Kuck <eric@bluelinelabs.com> in commit 5ef1656
static func parse(_ text: String, name: String) throws -> TunnelConfiguration {
assert(!name.isEmpty)
static func parse(_ text: String) throws -> TunnelConfiguration {
func collate(interfaceAttributes attributes: [String:String]) -> InterfaceConfiguration? {
// required wg fields
guard let privateKeyString = attributes["PrivateKey"] else { return nil }
guard let privateKey = Data(base64Encoded: privateKeyString), privateKey.count == 32 else { return nil }
var interface = InterfaceConfiguration(name: name, privateKey: privateKey)
var interface = InterfaceConfiguration(name: "", privateKey: privateKey)
// other wg fields
if let listenPortString = attributes["ListenPort"] {
guard let listenPort = UInt16(listenPortString) else { return nil }