<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/tar, branch fixes-1.1.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.1.0</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=fixes-1.1.0'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2022-03-10T22:13:02+00:00</updated>
<entry>
<title>Cleanup libtar mkxattr, explicitly null-terminate strings</title>
<updated>2022-03-10T22:13:02+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T21:50:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=6a19a4f5a755ebde63d7aa3d020460aea58e7ac8'/>
<id>urn:sha1:6a19a4f5a755ebde63d7aa3d020460aea58e7ac8</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix printf format specifiers used for generating tarballs</title>
<updated>2021-07-09T16:14:01+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-07-09T16:06:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=531d77736ece1398be75cf9b191a06b2e51f6304'/>
<id>urn:sha1:531d77736ece1398be75cf9b191a06b2e51f6304</id>
<content type='text'>
When processing files &gt; 4G, using "%o" truncates the result and the
tarball is not readable. This should have been discovered when
auto-patching the printf format specifiers, but a cast was added
instead and the issue was overlooked.

This commit replaces the down-cast and printf format specifiers.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add default cases for every switch block</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-25T12:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=d4690eeabe557753b394b8f83b5dbaf83e57e15f'/>
<id>urn:sha1:d4690eeabe557753b394b8f83b5dbaf83e57e15f</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Remove casual un-const casting in various places</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-24T14:07:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=8348086b48af0cbabe4cf2b64992ced6561ea50c'/>
<id>urn:sha1:8348086b48af0cbabe4cf2b64992ced6561ea50c</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Remodel libtar/tar2sqfs to read data from an istream_t</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-13T11:37:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=f757737060d4daebb24a32e90d912661428708a8'/>
<id>urn:sha1:f757737060d4daebb24a32e90d912661428708a8</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Remodel file extraction tools to use 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-04T17:26:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=0a0cbefc6ebb6174aad3e6f0b8a6dea87aed49da'/>
<id>urn:sha1:0a0cbefc6ebb6174aad3e6f0b8a6dea87aed49da</id>
<content type='text'>
This commit rewrites the libtar write paths to use libfstream insead of
a FILE pointer. Also, the libcommon file extraction function is remodeled
to use libfstream.

In accordance, rdsquashfs, sqfs2tar and sqfsdiff have some minor
adjustments made to work with the ported libtar and libcommon.

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>
<entry>
<title>Fix libtar treatment of link targets that fill the header field</title>
<updated>2020-08-16T11:03:17+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-08-16T11:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=80fe7f8d5b7dd51c97dd66152e255173f9a516dd'/>
<id>urn:sha1:80fe7f8d5b7dd51c97dd66152e255173f9a516dd</id>
<content type='text'>
The tar header has a 100 byte field for symlink and hard link targets.
If the target is longer than 100 bytes, an extension header has to be
used.

However, it is perfectly valid to fill all 100 bytes to the brim
without adding a null terminator. In case of a symlink, this can
result in garbage link targets, while for hard links it results in
an immediate error since the target cannot be resolved later on.

This commit attempts to fix the problem by replacing the strdup of
the link target with an strndup that copies at most the size of the
target header field.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: sqfs2tar: break up and simplify the repacking code</title>
<updated>2020-05-30T15:49:40+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-05-27T13:29:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=36e70b384e1360e47f473be54ef3c0599bf82844'/>
<id>urn:sha1:36e70b384e1360e47f473be54ef3c0599bf82844</id>
<content type='text'>
 - Move the xattr extraction and repacking to xattr.c
 - Don't on-the-fly delete the tar xattr list, use the function
   from libtar.a
 - Split minor tasks into static helper functions
   - creating a libtar xattr struct from libsqfs xattr data
   - finding a hard link entry from current path and inode number

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