<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/tar, branch v0.4.2</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.4.2</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v0.4.2'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2019-07-16T20:48:00+00:00</updated>
<entry>
<title>cleanup: move error handling into read_retry</title>
<updated>2019-07-16T20:48:00+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-16T19:02:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=e3ef871d6a80d72db02c9ab1ef492e8f58c2ddeb'/>
<id>urn:sha1:e3ef871d6a80d72db02c9ab1ef492e8f58c2ddeb</id>
<content type='text'>
If read_retry fails to read the expected amount of data (EOF or otherwise),
it is almost always an error.

This commit renames read_retry to read_data and moves error handling
into the function, making a lot of error handling code redundant.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>cleanup: move error handling into write_retry</title>
<updated>2019-07-16T20:47:59+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-16T17:29:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=bfd876dbf151df164b4d87de20aec39b24f205f9'/>
<id>urn:sha1:bfd876dbf151df164b4d87de20aec39b24f205f9</id>
<content type='text'>
If write_retry fails to write everything, it is *always* an error.

This commit renames write_retry to write_data and moves error handling
into the function, making a lot of error handling code redundant.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libtar: add support for xattr extensions</title>
<updated>2019-07-04T11:42:06+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-04T10:43:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=6623b1fe4df1e2fceb27eff286a86cf36809b2bc'/>
<id>urn:sha1:6623b1fe4df1e2fceb27eff286a86cf36809b2bc</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix composition order of prefix + name for ustar</title>
<updated>2019-07-04T10:46:07+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-04T10:45:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=56c1be44b5f77b067994a6f8f6ef2b397d7acadc'/>
<id>urn:sha1:56c1be44b5f77b067994a6f8f6ef2b397d7acadc</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add no-skip option to sqfs2tar</title>
<updated>2019-07-03T13:28:40+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-03T13:22:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=e981f2e460092e5ae6ad58a60869b78d7f50ec10'/>
<id>urn:sha1:e981f2e460092e5ae6ad58a60869b78d7f50ec10</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>tar writer: replace PAX headers with GNU extensions</title>
<updated>2019-07-03T13:17:57+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-03T13:08:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=70dcf39f5926a66d76eb9fde2cbaef4b6a23a9e1'/>
<id>urn:sha1:70dcf39f5926a66d76eb9fde2cbaef4b6a23a9e1</id>
<content type='text'>
Some experiments seem to indicate that the various GNU extensions are
more widely supported than their POSIX equivalents[1]. Possibly because
they are easier to implement and possibly because of the wide spread
use of GNU tar.

This commit replaces the PAX writer in the write_tar_header implementation
with a GNU extension based writer.

The writer is also cleaned up by removing all global state. The record
counter is moved outside into the tar2sqfs program and passed in as
function argument.

[1] https://dev.gentoo.org/~mgorny/articles/portability-of-tar-features.html

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: don't blindly strcpy() the tar header name</title>
<updated>2019-07-03T12:12:46+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-03T12:12:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b8d4983147141310383d423b1bcb9d19a490977a'/>
<id>urn:sha1:b8d4983147141310383d423b1bcb9d19a490977a</id>
<content type='text'>
If the tar header name is exactely 100 bytes long, it does not have a
trailing null byte. Using strlen/strcpy on it effectively concatenates
the following fields contents to it.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>cleanup: split tar code up, remove some duplications</title>
<updated>2019-07-01T11:23:36+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-01T11:23:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=8aea2d1dc437b5b497170ef9c1b6854aee8f5dcf'/>
<id>urn:sha1:8aea2d1dc437b5b497170ef9c1b6854aee8f5dcf</id>
<content type='text'>
This commit attempts to split some of the monolitic tar parsing code up
into multiple functions in seperate files. Also, some code duplication
(like reading a record into memory which was implemented twice) is
removed.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Remove unused variable assignment from tar header writer</title>
<updated>2019-07-01T09:46:40+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-01T08:56:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2f5bbf17fd23ba305d0b5cb1fb595123283df8bc'/>
<id>urn:sha1:2f5bbf17fd23ba305d0b5cb1fb595123283df8bc</id>
<content type='text'>
Mainly to make scan-build happy.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix double free in GNU tar sparse file parser</title>
<updated>2019-07-01T09:46:40+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2019-07-01T08:51:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=d5fbb8baf0474378c863739d8ecb0213218d6b77'/>
<id>urn:sha1:d5fbb8baf0474378c863739d8ecb0213218d6b77</id>
<content type='text'>
The intention was to free the temporary object in addition to the list.
Since the temp pointer is also used for iterating the list, this resulted
in a double free instead of the intended.

This commit fixes the double free by replacing the recycled variable based
list free with the helper function intended to do this.

Bug found using scan-build.

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