<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/fstream/uncompress, branch master</title>
<subtitle>A new set of tools and libraries for working with SquashFS images</subtitle>
<id>https://git.infraroot.at/squashfs-tools-ng.git/atom?h=master</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2022-07-08T17:17:35+00:00</updated>
<entry>
<title>Cleanup: rename libfstream to libio, split headers</title>
<updated>2022-07-08T17:17:35+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-06-26T20:51:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=359d71e90050a8b83f7bc7d2ecd4ff29c477cc22'/>
<id>urn:sha1:359d71e90050a8b83f7bc7d2ecd4ff29c477cc22</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libfstream: guard against potential integer overflows</title>
<updated>2021-06-25T13:12:41+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-06-24T12:32:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=64da743ffc2a7d182a78872798b5dbdca39a1b16'/>
<id>urn:sha1:64da743ffc2a7d182a78872798b5dbdca39a1b16</id>
<content type='text'>
The differen compressor libraries use differnt integer types to tally
the buffer sizes. The libfstream library uses size_t, which may be
bigger than the actualy types, potentially causing an overflow if
trying to compress to much at once.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: allow concatenated Bzip2 streams</title>
<updated>2021-06-04T10:16:55+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-06-04T10:16:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=abcdc94c9939d6b085e2b76f76817df9be5fe2cc'/>
<id>urn:sha1:abcdc94c9939d6b085e2b76f76817df9be5fe2cc</id>
<content type='text'>
This is a followup to dd4e6ead142e58568aec89d76b0b2e867ee983f2.
Basically the same problem occours with Bzip2, but it so far it wasn't
possible to find a sampel that reproduces it.

Unlike libxz, the libbz2 API does not support concatenated streams by
itself and will choke when trying to decompress after the stream end,
so this commit adds a workaround to simply initialize the decompressor
on-the-fly and tear it down again when and end-of-stream is returned.
The end-of-file condition is only set when there actually is no more
data to read. Otherwise, the decompressor will be re-initialized in
the next round.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: allow concatenated xz streams</title>
<updated>2021-05-06T11:27:46+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-05-06T11:10:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=dd4e6ead142e58568aec89d76b0b2e867ee983f2'/>
<id>urn:sha1:dd4e6ead142e58568aec89d76b0b2e867ee983f2</id>
<content type='text'>
Some xz compressed tarballs (e.g. from kernel.org) are not made up of
a single xz stream, but rather contain several, independendly
compressed streams. In that case, the xz decompressor hits
an LZMA_STREAM_END early on and reports EOF. If you are lucky, the tar
reader bails (premature end-of-file). If you are unlucky, it happens
exactely between two records and is interpeted as regular end-of-file.

As this seems to be a normal use case for xz, it has a flag to just
read across the seams and only report end-of-stream if the action
is set to finish.

This commit adds the flag to the initialization propperly sets the
lzma_action depending on whether the underlying stream hit EOF or not.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add a check whether libzstd supports stream compression</title>
<updated>2020-09-17T11:10:25+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-17T11:09:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b52a9567520570bd6c850bcad3a6966f68639ef7'/>
<id>urn:sha1:b52a9567520570bd6c850bcad3a6966f68639ef7</id>
<content type='text'>
Streaming compression was added fairly recently to zstd (and then
the API was changed a few times).

Rather than rely on libzstd versioning macros, this commit adds an
m4 script to test at configure time if the enums/functions we need
are available by trying to compile a small sample.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add bzip2 stream compression support</title>
<updated>2020-09-16T07:34:35+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-15T19:13:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=183cf393a453cddb689666ce7fb35a97e7f523bf'/>
<id>urn:sha1:183cf393a453cddb689666ce7fb35a97e7f523bf</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add zstd stream compressor implementation to libfstream</title>
<updated>2020-09-16T07:34:35+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-14T18:25:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=15431d4fd8de67a03af4ee9cc8e774e1750e9da2'/>
<id>urn:sha1:15431d4fd8de67a03af4ee9cc8e774e1750e9da2</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Implement istream decompression support</title>
<updated>2020-09-16T07:34:35+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-14T12:59:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=c9f5cfd3df2706da940a39d6d816ad084ba80fbd'/>
<id>urn:sha1:c9f5cfd3df2706da940a39d6d816ad084ba80fbd</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
