<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/tar, 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-17T23:58:13+00:00</updated>
<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>Cleanup: split libtar header, move 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-29T16:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=e6a19ba1a05f77f051187a6b1a828ee6d39ce052'/>
<id>urn:sha1:e6a19ba1a05f77f051187a6b1a828ee6d39ce052</id>
<content type='text'>
Some of the on-disk format internals are moved to a separate header
and some of the stuff from internal.h is moved to that format header.
C++ guards are added in addtion.

Everything PAX related is moved to pax_header.c, some internal
functions are marked as static.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: remove struct stat from libtar</title>
<updated>2022-03-30T20:31:30+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-10-22T15:19:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=916c8f6e26140cf3c03e58726b57dc4f86e18316'/>
<id>urn:sha1:916c8f6e26140cf3c03e58726b57dc4f86e18316</id>
<content type='text'>
The idea was originally to use struct stat in the libfstree code, so
we can simply hose data read from a directory into the fstree_t. The
struct was then also used with libtar, for simpler interoperation,
but it turned out to introduce a lot of platform quirks and causes
more trouble than it's worth.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: table driven pax header parsing</title>
<updated>2022-03-30T20:31:30+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-07-10T10:22:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=5e54880a2db2aeb7a6c301a69ee2bef9a09a237f'/>
<id>urn:sha1:5e54880a2db2aeb7a6c301a69ee2bef9a09a237f</id>
<content type='text'>
Instead of having a long if-else-if chain, replace the PAX header
field parsing with a table driven approach.

Altough it is more code, it is hopefully more readable, maintainable,
extensible and it dedupliates some of the value parsing code.

The GNU.sparse parsing is left as is, because it requires
maintaining state.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: pax header parsing</title>
<updated>2022-03-30T20:31:30+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-07-10T09:30:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=5df5c115298e8ed9ec977ded60e8019ea39f00b3'/>
<id>urn:sha1:5df5c115298e8ed9ec977ded60e8019ea39f00b3</id>
<content type='text'>
Split the key/value pairs right in the header and terminate the key
name. This way, some of the magic numbers can be eliminated.

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