<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib/sqfs, branch v1.0.5</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.5</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=v1.0.5'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2021-06-25T15:49:11+00:00</updated>
<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>Remove casual un-const casting in various places</title>
<updated>2021-06-25T15:48:49+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-06-24T14:07:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a32b5a9c793e4f4a4577837b73e783386842db02'/>
<id>urn:sha1:a32b5a9c793e4f4a4577837b73e783386842db02</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsquashfs: get rid of potentially unaligned access and VLAs</title>
<updated>2021-06-25T15:37:56+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-06-25T12:12:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=3f887a1acc6129210d1ad4a484842bd411a85c7a'/>
<id>urn:sha1:3f887a1acc6129210d1ad4a484842bd411a85c7a</id>
<content type='text'>
The same problem with the meta data header again, 16 bit read from
a buffer: copy the buffer data into a 16 bit variable instead of
casting to something potentially unaligned.

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>libsquashfs: fix: also preserve alignment flag in block processor</title>
<updated>2021-06-07T12:32:23+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-06-07T12:32:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a49a5bc6253883f8dab06d5bae7e5453008da164'/>
<id>urn:sha1:a49a5bc6253883f8dab06d5bae7e5453008da164</id>
<content type='text'>
Currently, when the block processor aggreagtes fragments into a
fragment block, it applies the "don't compress" flag if any of the
original framgnets has it set, but the "align to device block" flag
is lost.

This commit ensures that both flags get applied to the fragment block
if set.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsquashfs: fix block alignment if requested</title>
<updated>2021-06-07T12:30:29+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-06-07T09:26:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=85d88bcdc74d6a092a2932ff6b80ac455556f0ce'/>
<id>urn:sha1:85d88bcdc74d6a092a2932ff6b80ac455556f0ce</id>
<content type='text'>
1) If the block alignment flag is set, the padding bytes must be
   inserted _before_ recording the start position, otherwise the
   resulting image is not readable.

2) Also perform alignment if the flag is set on a fragment block.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>added shared read access when opening sqfs image with read-only flags (win32)</title>
<updated>2021-02-28T12:26:53+00:00</updated>
<author>
<name>Thomas Lang</name>
<email>thomas.lang@mec.at</email>
</author>
<published>2021-02-26T10:26:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b3efb637c8e1dc5cbb557e90988b5537cc6aff61'/>
<id>urn:sha1:b3efb637c8e1dc5cbb557e90988b5537cc6aff61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libsqfs: block processor: backport exact fragment matching</title>
<updated>2021-01-19T09:45:59+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-01-14T03:38:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=4249e123d321650050259fb602f06497519077d0'/>
<id>urn:sha1:4249e123d321650050259fb602f06497519077d0</id>
<content type='text'>
This commit is an amalgamation of the commits on master that
implement exact matching of fragment blocks during deduplication.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsqfs: implement exact matching in the default block writer.</title>
<updated>2021-01-19T09:45:59+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2020-12-05T23:35:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=854119c62621e017c13be5192a9494c0eea2fe2f'/>
<id>urn:sha1:854119c62621e017c13be5192a9494c0eea2fe2f</id>
<content type='text'>
Instead of comparing (compresed, disk-size, checksum) tuples to find
block matches, do an exact, byte-for-byte comparison of the data
stored on disk to avoid the possibility of a spurious colision.

Since this is the desired behaviour, make it the default, optionally
overrideable through a flag.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: Move fragment consolidation back to block processor serial part</title>
<updated>2021-01-19T09:30:20+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2021-01-14T03:40:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=8db9823b63d82196b204cb969752eff6adb15756'/>
<id>urn:sha1:8db9823b63d82196b204cb969752eff6adb15756</id>
<content type='text'>
Keeping a list of fragments stored away in the current fragment block
and consolidating them in the thread pool takes them out of circulation.

If we have a lot of tiny fragments, this can lead to a situation where
all the limit is reached, but we cannot do anything, because we are
waiting for a block to complete, but they are all attached to the
current fragment block and the queue is empty.

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