<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib, branch v1.0.4</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.0.4</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.0.4'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2021-01-19T10:04:33+00:00</updated>
<entry>
<title>libcommon: backport block processor API update</title>
<updated>2021-01-19T10:04:33+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-01-19T09:43:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=07f73dfc2c4b5779fe57095b79c962fca4549788'/>
<id>urn:sha1:07f73dfc2c4b5779fe57095b79c962fca4549788</id>
<content type='text'>
The changes from commit 5191a25b92f903bcc2142be7ea1bfbe5ea1f5096
are backported here in a separate commit since master had some
restructuring of libcommon.a after version 1.0.2 and the commit
cannot be rebased directly.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsqfs: block processor: backport exact fragment matching</title>
<updated>2021-01-19T09:45:59+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-01-14T03:38:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=4249e123d321650050259fb602f06497519077d0'/>
<id>urn:sha1:4249e123d321650050259fb602f06497519077d0</id>
<content type='text'>
This commit is an amalgamation of the commits on master that
implement exact matching of fragment blocks during deduplication.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsqfs: implement exact matching in the default block writer.</title>
<updated>2021-01-19T09:45:59+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-12-05T23:35:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=854119c62621e017c13be5192a9494c0eea2fe2f'/>
<id>urn:sha1:854119c62621e017c13be5192a9494c0eea2fe2f</id>
<content type='text'>
Instead of comparing (compresed, disk-size, checksum) tuples to find
block matches, do an exact, byte-for-byte comparison of the data
stored on disk to avoid the possibility of a spurious colision.

Since this is the desired behaviour, make it the default, optionally
overrideable through a flag.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: Move fragment consolidation back to block processor serial part</title>
<updated>2021-01-19T09:30:20+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-01-14T03:40:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=8db9823b63d82196b204cb969752eff6adb15756'/>
<id>urn:sha1:8db9823b63d82196b204cb969752eff6adb15756</id>
<content type='text'>
Keeping a list of fragments stored away in the current fragment block
and consolidating them in the thread pool takes them out of circulation.

If we have a lot of tiny fragments, this can lead to a situation where
all the limit is reached, but we cannot do anything, because we are
waiting for a block to complete, but they are all attached to the
current fragment block and the queue is empty.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix more normalization of slashes in filenames.</title>
<updated>2021-01-15T16:36:02+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2021-01-14T02:31:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=8f5f8702412a98fd8f70a9342f82414127703806'/>
<id>urn:sha1:8f5f8702412a98fd8f70a9342f82414127703806</id>
<content type='text'>
It looks like the last commit missed a couple more occurences
where '\' was treated incorrectly.

Fixes were still needed in sqfs_dir_reader_find_by_path and
sqfs_dir_reader_get_full_hierarchy.

This path is used in extras/browse.c.
</content>
</entry>
<entry>
<title>Fix normalization of slashes in filenames</title>
<updated>2020-12-29T11:39:17+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-12-29T11:10:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b04ff42f1640a4dd67af043f08b62ac4ec96edc7'/>
<id>urn:sha1:b04ff42f1640a4dd67af043f08b62ac4ec96edc7</id>
<content type='text'>
All paths were canonicalized internally, which includes filtering
sequences of slashes and converting backslashes to slashes.
Furthermore, when unpacking files, filenames are sanity checked
and rejected if they contain forward OR backward slashes.

This is a problem on Unix-like systems, where files containing
backslashes are a legitimate use case (*cough* SystemD *cough*).

This patch removes the backslash conversion from the canonicalization
and modifies the sanity check to reject backslashes only on Windows.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: libsquashfs: xattr_writer: return NULL if calloc fails</title>
<updated>2020-12-29T11:37:37+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-11-07T16:06:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=40ca906fa9f2f0e4e325432aff00433f2bb731bd'/>
<id>urn:sha1:40ca906fa9f2f0e4e325432aff00433f2bb731bd</id>
<content type='text'>
Instead of dereferencing the NULL pointer and crashing.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Backport changes to builtin copy of zlib</title>
<updated>2020-11-02T10:49:44+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-11-02T10:35:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=f1abb5d5e8a98e3d98c1ec57b1b4125c23263238'/>
<id>urn:sha1:f1abb5d5e8a98e3d98c1ec57b1b4125c23263238</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix integer bounds checking in GNU tar sparse format 1.0 parser</title>
<updated>2020-09-03T16:28:09+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-03T15:51:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=c6d289ab9e604369c25ed2c766842318f74e9256'/>
<id>urn:sha1:c6d289ab9e604369c25ed2c766842318f74e9256</id>
<content type='text'>
 - Make sure the file actually has that many records before trying
   to read one and fail if not.
 - Use the helper macros for size_t overflow checking instead of
   assuming size_t == uint64_t.
 - Impose a "reasonable" upper bound on the number of data segments
   and insist that there is at least one entry.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix nonexistant gnu tar sparse format 1.0 support</title>
<updated>2020-09-02T09:19:11+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-02T09:19:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=84ff0984bb5b471d0b4cbc0b0fca156c29273bf5'/>
<id>urn:sha1:84ff0984bb5b471d0b4cbc0b0fca156c29273bf5</id>
<content type='text'>
Contrary to previous claims, support for the GNU tar sparse format 1.0
was missing entirely (the newest of their 3 different sparse mapping
formats). This oversight wasn't caught, because the unit test was
compiling the wrong source file and tar2sqfs had no problem processing
the test file because it is still a valid POSIX-ish tar archive (but
the sparse part was missing and the mapping embedded in the file).

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