From d540f78cfcb75a8156f6f7b30797c9b74035fa3e Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 12 Oct 2016 15:06:51 +0100 Subject: [PATCH] Initial read-only support for LZip LZip has no notion of flienames, so an LzipReader wouldn't make very much sense; I've just implemented the stream, and hooked it into tar support. --- src/SharpCompress/Common/CompressionType.cs | 1 + .../Compressors/LZMA/LZipStream.cs | 153 ++++++++++++++++++ src/SharpCompress/Readers/ReaderFactory.cs | 13 ++ src/SharpCompress/Readers/Tar/TarReader.cs | 18 +++ test/SharpCompress.Test/Tar/TarReaderTests.cs | 6 + test/TestArchives/Archives/Tar.tar.lz | Bin 0 -> 59244 bytes 6 files changed, 191 insertions(+) create mode 100644 src/SharpCompress/Compressors/LZMA/LZipStream.cs create mode 100644 test/TestArchives/Archives/Tar.tar.lz diff --git a/src/SharpCompress/Common/CompressionType.cs b/src/SharpCompress/Common/CompressionType.cs index b43d4b49..2f44ed11 100644 --- a/src/SharpCompress/Common/CompressionType.cs +++ b/src/SharpCompress/Common/CompressionType.cs @@ -11,6 +11,7 @@ LZMA, BCJ, BCJ2, + LZip, Unknown } } \ No newline at end of file diff --git a/src/SharpCompress/Compressors/LZMA/LZipStream.cs b/src/SharpCompress/Compressors/LZMA/LZipStream.cs new file mode 100644 index 00000000..19b89764 --- /dev/null +++ b/src/SharpCompress/Compressors/LZMA/LZipStream.cs @@ -0,0 +1,153 @@ +using System; +using System.IO; + +namespace SharpCompress.Compressors.LZMA +{ + // TODO: + // - Write as well as read + // - Multi-volume support + // - Use of the data size / member size values at the end of the stream + + /// + /// Stream supporting the LZIP format, as documented at http://www.nongnu.org/lzip/manual/lzip_manual.html + /// + public class LZipStream : Stream + { + private readonly Stream stream; + private bool disposed; + private readonly bool leaveOpen; + + public LZipStream(Stream stream, CompressionMode mode) + : this(stream, mode, false) + { + } + + public LZipStream(Stream stream, CompressionMode mode, bool leaveOpen) + { + if (mode != CompressionMode.Decompress) + { + throw new NotImplementedException("Only LZip decompression is currently supported"); + } + Mode = mode; + this.leaveOpen = leaveOpen; + int dictionarySize = ValidateAndReadSize(stream); + if (dictionarySize == 0) + { + throw new IOException("Not an LZip stream"); + } + byte[] properties = GetProperties(dictionarySize); + this.stream = new LzmaStream(properties, stream); + } + + #region Stream methods + + protected override void Dispose(bool disposing) + { + if (disposed) + { + return; + } + disposed = true; + if (disposing && !leaveOpen) + { + stream.Dispose(); + } + } + + public CompressionMode Mode { get; } + + public override bool CanRead => stream.CanRead; + + public override bool CanSeek => false; + + public override bool CanWrite => false; + + public override void Flush() + { + stream.Flush(); + } + + // TODO: Both Length and Position are sometimes feasible, but would require + // reading the output length when we initialize. + public override long Length { get { throw new NotImplementedException(); } } + + public override long Position { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } + + public override int Read(byte[] buffer, int offset, int count) => stream.Read(buffer, offset, count); + + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotSupportedException(); + } + + public override void SetLength(long value) + { + throw new NotImplementedException(); + } + + public override void Write(byte[] buffer, int offset, int count) + { + throw new NotImplementedException(); + } + #endregion + + /// + /// Determines if the given stream is positioned at the start of a v1 LZip + /// file, as indicated by the ASCII characters "LZIP" and a version byte + /// of 1, followed by at least one byte. + /// + /// The stream to read from. Must not be null. + /// true if the given stream is an LZip file, false otherwise. + public static bool IsLZipFile(Stream stream) => ValidateAndReadSize(stream) != 0; + + /// + /// Reads the 6-byte header of the stream, and returns 0 if either the header + /// couldn't be read or it isn't a validate LZIP header, or the dictionary + /// size if it *is* a valid LZIP file. + /// + private static int ValidateAndReadSize(Stream stream) + { + if (stream == null) + { + throw new ArgumentNullException(nameof(stream)); + } + // Read the header + byte[] header = new byte[6]; + int n = stream.Read(header, 0, header.Length); + + // TODO: Handle reading only part of the header? + + if (n != 6) + { + return 0; + } + + if (header[0] != 'L' || header[1] != 'Z' || header[2] != 'I' || header[3] != 'P' || header[4] != 1 /* version 1 */) + { + return 0; + } + int basePower = header[5] & 0x1F; + int subtractionNumerator = (header[5] & 0xE0) >> 5; + return (1 << basePower) - subtractionNumerator * (1 << (basePower - 4)); + } + + /// + /// Creates a byte array to communicate the parameters and dictionary size to LzmaStream. + /// + private static byte[] GetProperties(int dictionarySize) => + new byte[] + { + // Parameters as per http://www.nongnu.org/lzip/manual/lzip_manual.html#Stream-format + // but encoded as a single byte in the format LzmaStream expects. + // literal_context_bits = 3 + // literal_pos_state_bits = 0 + // pos_state_bits = 2 + 93, + // Dictionary size as 4-byte little-endian value + (byte)(dictionarySize & 0xff), + (byte)((dictionarySize >> 8) & 0xff), + (byte)((dictionarySize >> 16) & 0xff), + (byte)((dictionarySize >> 24) & 0xff) + }; + } +} diff --git a/src/SharpCompress/Readers/ReaderFactory.cs b/src/SharpCompress/Readers/ReaderFactory.cs index a1a931f4..0cd9b9fe 100644 --- a/src/SharpCompress/Readers/ReaderFactory.cs +++ b/src/SharpCompress/Readers/ReaderFactory.cs @@ -13,6 +13,7 @@ using SharpCompress.Readers.GZip; using SharpCompress.Readers.Rar; using SharpCompress.Readers.Tar; using SharpCompress.Readers.Zip; +using SharpCompress.Compressors.LZMA; namespace SharpCompress.Readers { @@ -64,6 +65,18 @@ namespace SharpCompress.Readers } } + rewindableStream.Rewind(false); + if (LZipStream.IsLZipFile(rewindableStream)) + { + rewindableStream.Rewind(false); + LZipStream testStream = new LZipStream(rewindableStream, CompressionMode.Decompress, true); + if (TarArchive.IsTarFile(testStream)) + { + rewindableStream.Rewind(true); + return new TarReader(rewindableStream, options, CompressionType.LZip); + } + } + rewindableStream.Rewind(false); if (RarArchive.IsRarFile(rewindableStream, options)) { diff --git a/src/SharpCompress/Readers/Tar/TarReader.cs b/src/SharpCompress/Readers/Tar/TarReader.cs index bc8a5642..43543b86 100644 --- a/src/SharpCompress/Readers/Tar/TarReader.cs +++ b/src/SharpCompress/Readers/Tar/TarReader.cs @@ -9,6 +9,7 @@ using SharpCompress.Compressors; using SharpCompress.Compressors.BZip2; using SharpCompress.Compressors.Deflate; using SharpCompress.IO; +using SharpCompress.Compressors.LZMA; namespace SharpCompress.Readers.Tar { @@ -38,6 +39,10 @@ namespace SharpCompress.Readers.Tar { return new GZipStream(stream, CompressionMode.Decompress); } + case CompressionType.LZip: + { + return new LZipStream(stream, CompressionMode.Decompress); + } case CompressionType.None: { return stream; @@ -87,6 +92,19 @@ namespace SharpCompress.Readers.Tar } throw new InvalidFormatException("Not a tar file."); } + + rewindableStream.Rewind(false); + if (LZipStream.IsLZipFile(rewindableStream)) + { + rewindableStream.Rewind(false); + LZipStream testStream = new LZipStream(rewindableStream, CompressionMode.Decompress, false); + if (TarArchive.IsTarFile(testStream)) + { + rewindableStream.Rewind(true); + return new TarReader(rewindableStream, options, CompressionType.LZip); + } + throw new InvalidFormatException("Not a tar file."); + } rewindableStream.Rewind(true); return new TarReader(rewindableStream, options, CompressionType.None); } diff --git a/test/SharpCompress.Test/Tar/TarReaderTests.cs b/test/SharpCompress.Test/Tar/TarReaderTests.cs index d251ad3c..2251b0d8 100644 --- a/test/SharpCompress.Test/Tar/TarReaderTests.cs +++ b/test/SharpCompress.Test/Tar/TarReaderTests.cs @@ -33,6 +33,12 @@ namespace SharpCompress.Test Read("Tar.tar.gz", CompressionType.GZip); } + [Fact] + public void Tar_LZip_Reader() + { + Read("Tar.tar.lz", CompressionType.LZip); + } + [Fact] public void Tar_BZip2_Entry_Stream() { diff --git a/test/TestArchives/Archives/Tar.tar.lz b/test/TestArchives/Archives/Tar.tar.lz new file mode 100644 index 0000000000000000000000000000000000000000..650772db8c281dd08f79f635e02f7d602547a6bb GIT binary patch literal 59244 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