<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/fstream, branch v1.1.2</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=v1.1.2</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.1.2'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2021-06-25T13:15:05+00:00</updated>
<entry>
<title>libfstream: sanity check the buffer size in the gzip stream compressor</title>
<updated>2021-06-25T13:15:05+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-06-25T13:15:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=3cd56afbfcffca5f9b7ac19a8b2612411b1d3a2d'/>
<id>urn:sha1:3cd56afbfcffca5f9b7ac19a8b2612411b1d3a2d</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>Fix: don't throw an error if fsync() returns EINVAL</title>
<updated>2021-03-30T15:57:30+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-03-30T15:54:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=7c6c0c07dda1f44b930ee2dbb9451979b6a2cb83'/>
<id>urn:sha1:7c6c0c07dda1f44b930ee2dbb9451979b6a2cb83</id>
<content type='text'>
This indicates that sync isn't possible on the underlying file
descriptor (e.g. a pipe), which currently causes sqfs2tar to err if
the output isn't written directly to a file.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: add missing include path to libfstream if using builtin zlib</title>
<updated>2021-03-20T16:46:14+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-03-20T16:36:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a026990ad119b247fd01db1e32c6eaf23ecfcd6f'/>
<id>urn:sha1:a026990ad119b247fd01db1e32c6eaf23ecfcd6f</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add a more usefull getline-like function to libfstream</title>
<updated>2020-09-29T13:33:15+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-25T18:42:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=d87bffd89b9c0a26a65f0c629250fa87902b6cb8'/>
<id>urn:sha1:d87bffd89b9c0a26a65f0c629250fa87902b6cb8</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libfstream: Rework unix sparse file writing</title>
<updated>2020-09-29T13:33:15+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-25T16:25:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=897a625cacdd9201f9f2531f5ce97c4ab5e5d90a'/>
<id>urn:sha1:897a625cacdd9201f9f2531f5ce97c4ab5e5d90a</id>
<content type='text'>
Instead of immediately seeking forward, record the sparse bytes "written"
and then do the seek the next time we write data, or do an ftruncate if
we do a sync.

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>Fix: add missing compiler/linker flags</title>
<updated>2020-09-17T11:07:53+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-17T11:07:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=ec38f4fa90d65362002a901b2d74be09fc6b128c'/>
<id>urn:sha1:ec38f4fa90d65362002a901b2d74be09fc6b128c</id>
<content type='text'>
If tar2sqfs and sqfs2tar want to use comperssion via libfstream, they
need to link against the compressor libraries.

Also, libfstream may need the apropriate cflags to access the headers
on some platforms.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
