]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
Importing: Ignore case in matching file extensions inside zip files
authorRoopesh Chander <roop@roopc.net>
Sat, 9 Feb 2019 13:54:08 +0000 (19:24 +0530)
committerRoopesh Chander <roop@roopc.net>
Sat, 9 Feb 2019 14:12:50 +0000 (19:42 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/ZipArchive/ZipArchive.swift

index 9e28dc299d9a1a000d2a19f5077aec56c43b5bb2..2cca880a479570cbdba2448ea45852cd33ff4434 100644 (file)
@@ -42,6 +42,7 @@ class ZipArchive {
     static func unarchive(url: URL, requiredFileExtensions: [String]) throws -> [(fileBaseName: String, contents: Data)] {
 
         var results = [(fileBaseName: String, contents: Data)]()
+        var requiredFileExtensionsLowercased = requiredFileExtensions.map { $0.lowercased() }
 
         guard let zipFile = unzOpen64(url.path) else {
             throw ZipArchiveError.cantOpenInputZipFile
@@ -70,7 +71,7 @@ class ZipArchive {
             let isDirectory = (lastChar == "/" || lastChar == "\\")
             let fileURL = URL(fileURLWithFileSystemRepresentation: fileNameBuffer, isDirectory: isDirectory, relativeTo: nil)
 
-            if !isDirectory && requiredFileExtensions.contains(fileURL.pathExtension) {
+            if !isDirectory && requiredFileExtensionsLowercased.contains(fileURL.pathExtension.lowercased()) {
                 var unzippedData = Data()
                 var bytesRead: Int32 = 0
                 repeat {