diff --git a/Sources/7zError.swift b/Sources/7zError.swift index 70bd936e..3fc88cbd 100644 --- a/Sources/7zError.swift +++ b/Sources/7zError.swift @@ -39,4 +39,5 @@ public enum SevenZipError: Error { case noPackInfoFound case streamOverread case dataIsUnavailable + case encryptionNotSupported } diff --git a/Sources/7zFolder.swift b/Sources/7zFolder.swift index 2ab478ec..89db5b3a 100644 --- a/Sources/7zFolder.swift +++ b/Sources/7zFolder.swift @@ -166,7 +166,11 @@ class SevenZipFolder { try lzmaDecoder.decodeLZMA(unpackSize, properties[0], dictionarySize) decodedData = Data(bytes: lzmaDecoder.out) } else { - throw SevenZipError.compressionNotSupported + if coder.id[0] == 0x06 { + throw SevenZipError.encryptionNotSupported + } else { + throw SevenZipError.compressionNotSupported + } } guard decodedData.count == unpackSize