<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/fstree, branch fixes-1.3.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.3.0</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=fixes-1.3.0'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2022-11-22T13:45:32+00:00</updated>
<entry>
<title>Move gensquashfs specific code from libfstree to gensquashfs</title>
<updated>2022-11-22T13:45:32+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-22T13:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=168ef9be32ad754d7bcb38ed70787237fc12630d'/>
<id>urn:sha1:168ef9be32ad754d7bcb38ed70787237fc12630d</id>
<content type='text'>
The "from dir" and from "from file" code, as well as the "sort file"
code is specific to gensquashfs, so move them there and the test
cases as well.

The medium term idea is to reduce libfstree to a stub, merge it into
the generic writer and ultimately hoist that into libsquashfs.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: Get rid of libfstree "internal.h" header</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-07-05T13:50:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=62753ec36958c40f151fa223605aea5e6a50bd89'/>
<id>urn:sha1:62753ec36958c40f151fa223605aea5e6a50bd89</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: move source date epoch code back to libutil</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-07-05T13:41:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a412425bca4bb90a7c1b35acac6b185158f3cd4f'/>
<id>urn:sha1:a412425bca4bb90a7c1b35acac6b185158f3cd4f</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: move filename_sane &amp; canonicalize_path functions to libutil</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-07-05T13:34:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=d6e2106e96b6969e045251d972e1adcceb9728df'/>
<id>urn:sha1:d6e2106e96b6969e045251d972e1adcceb9728df</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: rename libfstream to libio, split headers</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-26T20:51:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=359d71e90050a8b83f7bc7d2ecd4ff29c477cc22'/>
<id>urn:sha1:359d71e90050a8b83f7bc7d2ecd4ff29c477cc22</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: libfstree: actually use a full 32 bit hard link counter</title>
<updated>2022-07-08T17:17:31+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-07-08T15:08:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=aed35c78c6a51a4b4c37ebda5643d2246842fb74'/>
<id>urn:sha1:aed35c78c6a51a4b4c37ebda5643d2246842fb74</id>
<content type='text'>
The squashfs on-disk format uses 32 bit link counters, but the fstree
used 16 bit ones. Because the link count also includes child nodes,
this artificially limited the number of entries in a directory to ~64k
files.

This patch removes the limit by switching libfstree to 32 bit counters.

Reported-by: Marvin Renich &lt;mrvn@renich.org&gt;
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: libfstree: double free in error path</title>
<updated>2022-07-08T17:17:18+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-07-08T14:49:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=fd0b2e7a242568f5b11f8a22ce0c3f639e6bbbfc'/>
<id>urn:sha1:fd0b2e7a242568f5b11f8a22ce0c3f639e6bbbfc</id>
<content type='text'>
If fstree_mknode fails, because the parent link count would overflow,
the function fails and cleans up behind it. The problem arises because
the function does this check *after* inserting the node in the parent
node, so it is later free'd again, when destroying the rest of the
tree.

This patch moves the insertion after the check to mitigate the problem.

Reported-by: Marvin Renich &lt;mrvn@renich.org&gt;
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: libfstree: free() path string in error code path</title>
<updated>2022-06-03T13:13:24+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-06-03T13:13:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=5b960f8b3a1cb5216f76976298b036277815279b'/>
<id>urn:sha1:5b960f8b3a1cb5216f76976298b036277815279b</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: Directory insertion order on Windows</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-12-05T09:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a0e9956f931e28eeb430bd2459668fd96a69c676'/>
<id>urn:sha1:a0e9956f931e28eeb430bd2459668fd96a69c676</id>
<content type='text'>
The fstree sorting code got removed recently, in favour of inserting
at the correct position. The Windows directory scanning code still
used it's own list insertion code instead of mknode (so it could
allocate and translate the directory entry name in-place), which
broke the sorting order.

This issue is fixed in this commit.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add a rudimentary unit test for sort files</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-11-01T12:06:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=dba5a02426d942fa5a1a8be83a9f198a5f413d4b'/>
<id>urn:sha1:dba5a02426d942fa5a1a8be83a9f198a5f413d4b</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
