<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/sqfs, branch fixes-1.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=fixes-1.2.0</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=fixes-1.2.0'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2022-11-22T07:17:44+00:00</updated>
<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>block writer: further cleanup of the block writer logic</title>
<updated>2022-10-10T18:54:37+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-09-25T20:09:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=20b963c15b391999b5915649ccab60403f5e0f8f'/>
<id>urn:sha1:20b963c15b391999b5915649ccab60403f5e0f8f</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>block writer: move block comaprison to utility function</title>
<updated>2022-09-20T06:47:02+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-09-18T14:04:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=56edfefb9718f72bd45093e0efd76bd88645fa89'/>
<id>urn:sha1:56edfefb9718f72bd45093e0efd76bd88645fa89</id>
<content type='text'>
Slightly modify the byte-for-byte comparison function to compare an
arbitrary range in a file and move it to libutil. Instead of calling
it for each block in the block writer, simply let it check an entire
range in the block writer and compute the range position/size of the
reference ahead, before looking for potential matches.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>block writer: remove open coded array</title>
<updated>2022-09-20T06:47:02+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-09-18T12:56:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=310d0f23da22435be13864c93364359f0cb7f443'/>
<id>urn:sha1:310d0f23da22435be13864c93364359f0cb7f443</id>
<content type='text'>
Instead of open coding it, use the array_t type from libutil.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Make sqfs_tree_node_get_path more robust</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-07-05T10:16:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=75063b2e14dacc13fcbeeba24e580198a7c1c638'/>
<id>urn:sha1:75063b2e14dacc13fcbeeba24e580198a7c1c638</id>
<content type='text'>
Test against various invariants:
 - Every non-root node must have a name
 - The root node muts not have a name
 - The name must not be ".." or "."
 - The name must not contain '/'
 - The loop that chases parent pointers must terminate, i.e. we must
   never reach the starting state again (link loop).

Furthermore, make sure the sum of all path components plus separators
does not overflow.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Move sqfs_tree_node_get_path to libsquashfs</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-07-04T18:01:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=3946cf086183f8dd4d5d115f52ba1b87560b7ce4'/>
<id>urn:sha1:3946cf086183f8dd4d5d115f52ba1b87560b7ce4</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: move libutil headers to sub directory</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-26T14:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2087cc237cd0fe1ed29ebf891648bacb46f4833b'/>
<id>urn:sha1:2087cc237cd0fe1ed29ebf891648bacb46f4833b</id>
<content type='text'>
Move all the libutil stuff from the toplevel include/ to a util/
sub directory and fix up the includes that make use of them.

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