<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/sqfs/dir_reader, branch v1.3.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=v1.3.1</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.3.1'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2022-07-08T17:17:35+00:00</updated>
<entry>
<title>Make sqfs_tree_node_get_path more robust</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-05T10:16:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=75063b2e14dacc13fcbeeba24e580198a7c1c638'/>
<id>urn:sha1:75063b2e14dacc13fcbeeba24e580198a7c1c638</id>
<content type='text'>
Test against various invariants:
 - Every non-root node must have a name
 - The root node muts not have a name
 - The name must not be ".." or "."
 - The name must not contain '/'
 - The loop that chases parent pointers must terminate, i.e. we must
   never reach the starting state again (link loop).

Furthermore, make sure the sum of all path components plus separators
does not overflow.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Move sqfs_tree_node_get_path to libsquashfs</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-04T18:01:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=3946cf086183f8dd4d5d115f52ba1b87560b7ce4'/>
<id>urn:sha1:3946cf086183f8dd4d5d115f52ba1b87560b7ce4</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: move libutil headers to sub directory</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-26T14:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2087cc237cd0fe1ed29ebf891648bacb46f4833b'/>
<id>urn:sha1:2087cc237cd0fe1ed29ebf891648bacb46f4833b</id>
<content type='text'>
Move all the libutil stuff from the toplevel include/ to a util/
sub directory and fix up the includes that make use of them.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: libsqfs: simplify state handling in dir reader</title>
<updated>2022-06-02T19:20:37+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-06-02T19:20:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=9ae7e11098d0a3bbbae970b2c0457a39bddb174c'/>
<id>urn:sha1:9ae7e11098d0a3bbbae970b2c0457a39bddb174c</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: libsqfs: sqfs_dir_reader_find_by_path</title>
<updated>2022-06-02T15:26:53+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-06-01T12:21:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=9d474f278d21ddc452d8a1a722b3735fae94115c'/>
<id>urn:sha1:9d474f278d21ddc452d8a1a722b3735fae94115c</id>
<content type='text'>
Split out several repated patterns into helper functions and move the
rest of the code back into dir_reader.c

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: libsqfs: merge dir cache code back into dir_reader.c</title>
<updated>2022-06-02T15:26:53+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-06-01T09:46:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=653e24411937f9200ddfae9080f904a1d16d3366'/>
<id>urn:sha1:653e24411937f9200ddfae9080f904a1d16d3366</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: libsqfs: move directory iteration out of the directory reader</title>
<updated>2022-06-02T15:26:53+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-05-31T22:10:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a36cf2824c74a3ba7333801268d0ba4194684423'/>
<id>urn:sha1:a36cf2824c74a3ba7333801268d0ba4194684423</id>
<content type='text'>
Add a simple directory state object to the meta data reader and use
that to iterate directory entries. The code for reading the directory
listing is movde to readdir.c

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Add support for '.' and '..' entries in sqfs_dir_reader_t</title>
<updated>2022-04-09T21:26:13+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-04-09T21:20:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=020698f3a92195eb371e806a0b3ed0649565046f'/>
<id>urn:sha1:020698f3a92195eb371e806a0b3ed0649565046f</id>
<content type='text'>
Two flags are added to the dir reader API, one for the create function
that the dir reader should report those entries and one to the open
function to suppress that if it was enabled.

To implement the feature, a mapping of visited directory inodes is
maintained internally, that mapps inode numbers to inode references.

When opening a directory, state is maintained to generate the fake
entries for '.' and '..'. Since all the other functions are based on
the open/read/rewind API, no alterations need to be made. The tree
scan function is modified, to use the suppress flag, so it does not
accidentally catch those entries.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsqfs: move dir reader code to sub directory, add internal header</title>
<updated>2022-04-05T18:19:56+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-04-04T15:45:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=94c3fdc66b9aa8130b20a644f399fc021d0a823c'/>
<id>urn:sha1:94c3fdc66b9aa8130b20a644f399fc021d0a823c</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
