<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/bin/rdsquashfs, branch v1.0.6</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=v1.0.6</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.0.6'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2021-08-14T13:20:05+00:00</updated>
<entry>
<title>Fix symlink path traversal in rdsqaushfs</title>
<updated>2021-08-14T13:20:05+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=f949898c71f98917c3b3ede1b6397c4a4007e7c3'/>
<id>urn:sha1:f949898c71f98917c3b3ede1b6397c4a4007e7c3</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>Fix format string type/signedness mismatch issues</title>
<updated>2021-06-25T15:49:36+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=4d0a62805708a6d3fe21f615ccfaa3964adbf259'/>
<id>urn:sha1:4d0a62805708a6d3fe21f615ccfaa3964adbf259</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-25T15:49:11+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=c578e5ca80370c9fc832f4a535bd8444971759e0'/>
<id>urn:sha1:c578e5ca80370c9fc832f4a535bd8444971759e0</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-06-07T12:35:40+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=7a2e1a0a7a575c64eaf050c8ec08e5b36e4acfad'/>
<id>urn:sha1:7a2e1a0a7a575c64eaf050c8ec08e5b36e4acfad</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>Fix: rdsquashfs: describe: don't escape the prefixed file input path</title>
<updated>2020-09-29T16:21:21+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-09-29T16:16:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=23e31c1076f7d6a6d09014c3ae2fff54692b9e7f'/>
<id>urn:sha1:23e31c1076f7d6a6d09014c3ae2fff54692b9e7f</id>
<content type='text'>
If rdsquashfs describes a filesystem, is configured to use a prefix-path
and a file contains a space, the resulting input path has the prefix
printed as is and the rest of the string in quotation marks.

gensquashfs simply takes the entire rest of the line as is as its
input path and no longer finds the file.

Fix this by omitting the escapes and quotation marks for the
input path.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix rdsquashfs unpack under Windows if a directory exists</title>
<updated>2020-08-26T16:23:35+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-08-26T16:23:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=4afd9632251a8c050a44e8cad8fc2ccc45a35a2a'/>
<id>urn:sha1:4afd9632251a8c050a44e8cad8fc2ccc45a35a2a</id>
<content type='text'>
Behave the same way as the POSIX port and do not treat
that as an error.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add a "--stat" option to rdsquashfs</title>
<updated>2020-08-11T22:25:34+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-08-10T14:16:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=1f2342c6e89280a21c2e1c665803aae0e42185cb'/>
<id>urn:sha1:1f2342c6e89280a21c2e1c665803aae0e42185cb</id>
<content type='text'>
This commit adds a --stat option to rdsquashfs that dumps a lot of
information about and inode that tunred out to be usefull in
debugging.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add flags to functions that might logically be expanded in the future</title>
<updated>2020-06-11T13:36:08+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-06-10T23:57:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=259a98985b4f93347923d1b2c3aaa535397aaa89'/>
<id>urn:sha1:259a98985b4f93347923d1b2c3aaa535397aaa89</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Replace assert with propper error handling in rdsquashfs describe</title>
<updated>2020-06-07T15:23:51+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-06-07T14:24:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b96c4240ae6bddb4c929115cbd7d31698d72a5f7'/>
<id>urn:sha1:b96c4240ae6bddb4c929115cbd7d31698d72a5f7</id>
<content type='text'>
If a SquashFS archive contains file names with '..', '/' or similar
nonsense in them, the unpacking code already refuses to process them,
but the 'describe' code path simply triggers an assert that might not
be there if the binary was compiled with NDEBUG defined.

This commit replaces the assert with propper error handling that also
reports on why things are failing and adds an additional check in the
describe_tree function that tests if the file name is sane.

Reported-by: Zachary Dremann &lt;dremann@gmail.com&gt;
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: Reorganize structure of Automake files</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:07:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=e5f99ba93e08e237962bcf337848e60730aa2d54'/>
<id>urn:sha1:e5f99ba93e08e237962bcf337848e60730aa2d54</id>
<content type='text'>
 - Split up the huge file in bin/ into one small file per sub directory
 - Remove the stub in doc/

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