<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib, branch v1.2.0</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.2.0</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.2.0'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2022-11-22T13:45:32+00:00</updated>
<entry>
<title>Move gensquashfs specific code from libfstree to gensquashfs</title>
<updated>2022-11-22T13:45:32+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-22T13:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=168ef9be32ad754d7bcb38ed70787237fc12630d'/>
<id>urn:sha1:168ef9be32ad754d7bcb38ed70787237fc12630d</id>
<content type='text'>
The "from dir" and from "from file" code, as well as the "sort file"
code is specific to gensquashfs, so move them there and the test
cases as well.

The medium term idea is to reduce libfstree to a stub, merge it into
the generic writer and ultimately hoist that into libsquashfs.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Get rid of the built-in copy of LZ4</title>
<updated>2022-11-22T07:17:44+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-22T07:17:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=47e531197b18a0e9806bf8e3a2e69f203f5efd13'/>
<id>urn:sha1:47e531197b18a0e9806bf8e3a2e69f203f5efd13</id>
<content type='text'>
On Linux or BSD distributions we have a native version installed
via package manager. On Windows, we can just build it from source
like the other libraries.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Make some string functions from libcompat available to libsquashfs</title>
<updated>2022-11-21T14:27:10+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-21T13:25:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=91e8aafc8259115b7fff81d46bee82bca036526e'/>
<id>urn:sha1:91e8aafc8259115b7fff81d46bee82bca036526e</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsqfs: Fix an overzealous bounds check in the block processor</title>
<updated>2022-11-18T15:21:12+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-18T15:17:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=9d189b6091a7011bfac8a9c09af750614d82a10d'/>
<id>urn:sha1:9d189b6091a7011bfac8a9c09af750614d82a10d</id>
<content type='text'>
When (during fragment deduplication) a fragment block is read back
from disk and unpacked, it can happen that it is _exactly_ the
given block size. The bounds check did '&gt;=' instead of '&gt;' and
failed in that case with a "data corruption" error.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsqfs: Initialize the return value in sqfs_compressor_create</title>
<updated>2022-11-18T15:21:11+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-18T14:35:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=3bf38f07f0172b4698c205f72d923e9a37e53da7'/>
<id>urn:sha1:3bf38f07f0172b4698c205f72d923e9a37e53da7</id>
<content type='text'>
Initialize the output compressor pointer to NULL, so if the function
fails, the value is propperly initialized to a NULL pointer instead
of relying on the function user to initialize it.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add a single, central base64 decoder</title>
<updated>2022-11-17T23:58:13+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-17T23:57:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=844fdd42f03a633f1dbce5d90b2ecf44698cf8b0'/>
<id>urn:sha1:844fdd42f03a633f1dbce5d90b2ecf44698cf8b0</id>
<content type='text'>
Similar to the hex blob decoder, we need this once for tar and
once for the filemap xattr parser.

Simply add a single, central implementation to libutil, with a
simple unit test, and then use it in both libtar and gensquashfs.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add a single, central hex blob decoder</title>
<updated>2022-11-17T23:58:07+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-16T14:41:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=da6eadc840716eb29b0175f39b2790bba166db4a'/>
<id>urn:sha1:da6eadc840716eb29b0175f39b2790bba166db4a</id>
<content type='text'>
Since we need it twice (once for tar, once for the filemap xattr
parser), add a single, central implementation to libutil, add a
unit test for that implementation and then use it in both libtar
and gensquashfs.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Only use available CPUs</title>
<updated>2022-11-04T12:03:23+00:00</updated>
<author>
<name>Wessel Dankers</name>
<email>wsl@fruit.je</email>
</author>
<published>2022-10-30T19:04:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b7877c45fc7fe47709c963e15214a3dd5fc71e32'/>
<id>urn:sha1:b7877c45fc7fe47709c963e15214a3dd5fc71e32</id>
<content type='text'>
Not all CPUs may be available for the current process. Some CPUs
may be offline, others may not be included in the process affinity
mask. In such cases too many threads will be created, which will
then compete unnecessarily for CPU time.

Use sched_getaffinity() to determine the correct number of threads
to create.
</content>
</entry>
<entry>
<title>Fix typo in block count statistics</title>
<updated>2022-11-04T11:13:34+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-04T11:12:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=f3d87d9b78e28e2a6ad2676cce2b064f0bca6bd1'/>
<id>urn:sha1:f3d87d9b78e28e2a6ad2676cce2b064f0bca6bd1</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: update mempool accounting when freeing an object</title>
<updated>2022-11-04T11:13:34+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-10-25T13:58:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b934928842c12cf270106779d20f0f3bc54fa611'/>
<id>urn:sha1:b934928842c12cf270106779d20f0f3bc54fa611</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
