From: Jason A. Donenfeld Date: Mon, 11 Mar 2019 19:59:31 +0000 (-0600) Subject: wg-quick parser: trim \r as well X-Git-Tag: 0.0.20190319-1~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6c70500a79e002f47ecf39441a637dc5282da4a;p=thirdparty%2Fwireguard-apple.git wg-quick parser: trim \r as well The influx of Windows users has already begun to infect our nice project. Reported-by: Cosku Bas Signed-off-by: Jason A. Donenfeld --- diff --git a/WireGuard/Shared/Model/TunnelConfiguration+WgQuickConfig.swift b/WireGuard/Shared/Model/TunnelConfiguration+WgQuickConfig.swift index a6afc05..6aba0ac 100644 --- a/WireGuard/Shared/Model/TunnelConfiguration+WgQuickConfig.swift +++ b/WireGuard/Shared/Model/TunnelConfiguration+WgQuickConfig.swift @@ -52,15 +52,15 @@ extension TunnelConfiguration { trimmedLine = String(line) } - trimmedLine = trimmedLine.trimmingCharacters(in: .whitespaces) + trimmedLine = trimmedLine.trimmingCharacters(in: .whitespacesAndNewlines) let lowercasedLine = trimmedLine.lowercased() if !trimmedLine.isEmpty { if let equalsIndex = trimmedLine.firstIndex(of: "=") { // Line contains an attribute - let keyWithCase = trimmedLine[.. = ["address", "allowedips", "dns"] if let presentValue = attributes[key] { if keysWithMultipleEntriesAllowed.contains(key) { @@ -182,7 +182,7 @@ extension TunnelConfiguration { } if let addressesString = attributes["address"] { var addresses = [IPAddressRange]() - for addressString in addressesString.splitToArray(trimmingCharacters: .whitespaces) { + for addressString in addressesString.splitToArray(trimmingCharacters: .whitespacesAndNewlines) { guard let address = IPAddressRange(from: addressString) else { throw ParseError.interfaceHasInvalidAddress(addressString) } @@ -192,7 +192,7 @@ extension TunnelConfiguration { } if let dnsString = attributes["dns"] { var dnsServers = [DNSServer]() - for dnsServerString in dnsString.splitToArray(trimmingCharacters: .whitespaces) { + for dnsServerString in dnsString.splitToArray(trimmingCharacters: .whitespacesAndNewlines) { guard let dnsServer = DNSServer(from: dnsServerString) else { throw ParseError.interfaceHasInvalidDNS(dnsServerString) }