<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/bin, 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:17:20+00:00</updated>
<entry>
<title>Fix: use correct printf specifier for 64bit types</title>
<updated>2022-03-10T22:17:20+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T22:17:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=f20ed9eef65cb9ce56f4a7abd07ad80979b888ad'/>
<id>urn:sha1:f20ed9eef65cb9ce56f4a7abd07ad80979b888ad</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix symlink path traversal in rdsqaushfs</title>
<updated>2021-08-12T16:24:38+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-08-12T13:01:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=ad109e2b119cb3ed27c7d964be9625d415447eb1'/>
<id>urn:sha1:ad109e2b119cb3ed27c7d964be9625d415447eb1</id>
<content type='text'>
If rdsquashfs unpacks a directory tree that contains a symlink,
followed by something else with the exact same name, it will
follow the symlink and can be tricked into writing to an
arbitrary filesystem location controlled by the SquashFS image.

Because there might actually be a reasonable use case, where an
image is unpacked into an directory existing directory tree, with
symlinks that should be followed, this is solved as follows:

 - Before unpacking, recursively sort the directory by filename.
 - FAIL if (after sorting) two consequtive entries at the same
   hierarchy level have the same name.

This solution is more generic and prevents the unpacker from accessing
the same thing twice in generall, thus also excluding the symlink issue.

Hardlinks are already unfolded into duplicate tree nodes by the tree
reader (with loop detection) so that should not prompt further issues.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>tar2sqfs: Fix integer truncation issue when appending data to a tarball</title>
<updated>2021-07-09T17:51:43+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-07-09T17:39:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=729850cf514be9052c804874ed09ac75d3c45eea'/>
<id>urn:sha1:729850cf514be9052c804874ed09ac75d3c45eea</id>
<content type='text'>
The data is processed 2G at a time to avoid this exact issue, but the
check was skipped on 64 bit systems, since the function *used to* use
size_t instead of sqfs_u32.

This commit removes the second check.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix format string type/signedness mismatch issues</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:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=9e345a9846270822d61dd232ec4cc6ca2558a782'/>
<id>urn:sha1:9e345a9846270822d61dd232ec4cc6ca2558a782</id>
<content type='text'>
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>Fix: libsquashfs: add sqfs_free() function</title>
<updated>2021-04-08T10:04:33+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-04-08T10:04:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a3739ada111bf4e36ae7576b24176d1db55e1365'/>
<id>urn:sha1:a3739ada111bf4e36ae7576b24176d1db55e1365</id>
<content type='text'>
On systems like Windows, the dynamic library and applications can
easily end up being linked against different runtime libraries, so
applications cannot be expected to be able to free() any malloc'd
pointer that the library returns.

This commit adds an sqfs_free function so the application can pass
pointers back to the library to call the correct free() implementation.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: replace the void-ptr with an inode-ptr in the file tree node</title>
<updated>2021-03-06T21:08:36+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-03-05T16:11:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=378db7c6ab1336ce99136118a9b66901630ffc85'/>
<id>urn:sha1:378db7c6ab1336ce99136118a9b66901630ffc85</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>gensquashfs: Document the globbing feature</title>
<updated>2021-02-19T18:38:53+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-02-19T17:23:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=05defb211e6da0297b72c8af9b177196426aed01'/>
<id>urn:sha1:05defb211e6da0297b72c8af9b177196426aed01</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>fstree_from_file: Implement basic file globbing</title>
<updated>2021-02-19T16:35:07+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-02-18T10:38:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=d7409bbc5e24267b275692b48116254d842d3821'/>
<id>urn:sha1:d7409bbc5e24267b275692b48116254d842d3821</id>
<content type='text'>
The base path is passed to the fstree_from_file function and in turn
to the individual callbacks.

The line parsing function is modified to allow '*' as mode, uid and gid
for specifically marked callbacks.

A glob callback is added that internally uses the fstree_from_dir scanning
functions in combination with a filter callback.

Directory scanning flags are parsed from the extra arguments before
interpreting it as a path fragment.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libfstree: Add a filter callback to the directory scanning function</title>
<updated>2021-02-19T16:34:47+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-02-18T23:55:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=94269ff3c0166474c018c4973c481b2fcff00080'/>
<id>urn:sha1:94269ff3c0166474c018c4973c481b2fcff00080</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
