<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/tar, branch v0.9.1</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=v0.9.1</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v0.9.1'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2020-04-22T12:22:44+00:00</updated>
<entry>
<title>Skip PAX global headers</title>
<updated>2020-04-22T12:22:44+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-04-22T12:22:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=c6b65ee8a9a57d51956ee462fa1d61fd90d61f40'/>
<id>urn:sha1:c6b65ee8a9a57d51956ee462fa1d61fd90d61f40</id>
<content type='text'>
Tar archives can contain set two kinds of PAX headers:
 - local headers that modify the attributes of the next file
 - global headers that set defaults for all files

The later is used "... not widely used", according to tar(5)
and has been deliberately not implemented.

Some programs (e.g. git-archive) *do* generate them (in the case
of git, it stores the commit hash).

This commit adds a code path that skips a PAX global header entirely
and resumes tar parsing, instead of erroneusly reporting it as an
entry.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Remove some configure time sizeof checks</title>
<updated>2020-04-17T21:52:52+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-04-17T21:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=16a22bebb0bb4a28aec9ca76442af93462fc200e'/>
<id>urn:sha1:16a22bebb0bb4a28aec9ca76442af93462fc200e</id>
<content type='text'>
In libtar, the sizeof time_t checked when trying to store a time value.
It is pointless using the preprocessor here, as we can simply do an
if (sizeof(time_t) &lt; ...) check and the compiler will take care
optimizing away one or the other branch.

After changing the libtar check and the corresponding unit tests, the
sizeof check can be removed from configure.ac, along with other unused
sizeof checks.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: split read_header.c in libtar.a</title>
<updated>2020-04-17T21:31:32+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-04-17T21:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=1fe3f86230a970b3974f16a6bc2e819fdaf55b58'/>
<id>urn:sha1:1fe3f86230a970b3974f16a6bc2e819fdaf55b58</id>
<content type='text'>
Simply moving the pax header decoding to a separate file and splitting
out the common helper functions should be a good start.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup pax header parser a little</title>
<updated>2020-02-28T15:11:19+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-02-28T15:11:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=f4ca30a3a901a33ab29d2df80e9bc3649385f699'/>
<id>urn:sha1:f4ca30a3a901a33ab29d2df80e9bc3649385f699</id>
<content type='text'>
This commit tries to untangle the logic of parsing and sanitizing the
pax header length field and the associated bounds checks.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add libtar.a function to create hardlink records</title>
<updated>2019-12-23T12:55:38+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-23T12:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b4e5a24a3031c83ca51b50d34dea1a05aedf7b44'/>
<id>urn:sha1:b4e5a24a3031c83ca51b50d34dea1a05aedf7b44</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add hard link support to gensquashfs and tar2sqfs</title>
<updated>2019-12-22T21:07:44+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-19T15:31:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b16616ef092e8cd97674aac3380c5d7c600d7c61'/>
<id>urn:sha1:b16616ef092e8cd97674aac3380c5d7c600d7c61</id>
<content type='text'>
In libtar, set a special flag if the header is actually a hard link.

In tar2sqfs, create a hard link node and skip the rest for hard links.
Also refues to set the root attributes from a hard link, it may refere
to a node that we have missed earlier, there is nothing else that we
can do here.

In fstree_from_file, add a "link" command for adding hard links.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix tar GNU sparse header parsing</title>
<updated>2019-12-15T01:31:54+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-15T01:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=724524cd401325120de9d96e6a1023c3561c8879'/>
<id>urn:sha1:724524cd401325120de9d96e6a1023c3561c8879</id>
<content type='text'>
Extract the filename correctly.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Better support for reading/writing non-ASCII xattr values from/to tar</title>
<updated>2019-12-13T14:49:00+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-13T14:47:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=262fc48eb9e246ddb7315f5a14e7f6f58ca987c1'/>
<id>urn:sha1:262fc48eb9e246ddb7315f5a14e7f6f58ca987c1</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Make the PAX header parser more strict</title>
<updated>2019-12-13T12:52:33+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-12-13T12:52:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=7ab411dbd2cb066652f5f51a1bc6cc793b7cafad'/>
<id>urn:sha1:7ab411dbd2cb066652f5f51a1bc6cc793b7cafad</id>
<content type='text'>
Actually parse the length field and insist it matches the line length,
then use the length field to advance to the next line.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: remove what is left of libutil</title>
<updated>2019-11-25T12:28:28+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-11-25T12:28:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=94b547d27f953fefa0ed080611eb916f58702e87'/>
<id>urn:sha1:94b547d27f953fefa0ed080611eb916f58702e87</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
