Releases: plougher/squashfs-tools
Releases Β· plougher/squashfs-tools
Squashfs tools 4.6.1
4.6.1 25 MAR 2023 Bug fix release to fix race condition and XATTRs
code
1. Race condition which can cause corruption of the "fragment table"
fixed. This is a regression introduced in August 2022, and it has
been seen when tailend packing is used (-tailends option).
2. Fix build failure when the tools are being built without extended
attribute (XATTRs) support.
3. Fix XATTR error message when an unrecognised prefix is found
(Christian Hesse).
4. Fix incorrect free of pointer when an unrecognised XATTR prefix is
found.
Squashfs tools 4.6
4.6 17 MAR 2023 Major improvements in extended attribute handling,
pseudo file handling, and miscellaneous new options and
improvements
1. Extended attribute handling improved in Mksquashfs and Sqfstar
1.1.New -xattrs-exclude option to exclude extended attributes
from files using a regular expression.
1.2 New -xattrs-include option to include extended attributes
from files using a regular expression.
1.3 New -xattrs-add option to add extended attributes to files.
1.4 New Pseudo file xattr definition to add extended attributes
to files.
1.5 New xattrs-add Action to add extended attributes to files
(Mksquashfs only).
2. Extended attribute handling improved in Unsquashfs
2.1 New -xattrs-exclude option to exclude extended attributes
from files using a regular expression.
2.2 New -xattrs-include option to include extended attributes
from files using a regular expression.
2.3 Extended attributes are now supported in Pseudo file output.
3. Other major improvements
3.1 Unsquashfs can now output Pseudo files to standard out.
3.2 Mksquashfs can now input Pseudo files from standard in.
3.3 Squashfs filesystems can now be converted (different block
size compression etc) without unpacking to an intermediate
filesystem or mounting, by piping the output of Unsquashfs
to Mksquashfs.
3.4 Pseudo files are now supported by Sqfstar.
3.5 "Non-anchored" excludes are now supported by Unsquashfs.
4. Mksquashfs minor improvements
4.1 A new -max-depth option has been added, which limits
the depth Mksquashfs descends when creating the filesystem.
4.2 A new -mem-percent option which allows memory for caches to
be specified as a percentage of physical RAM, rather than
requiring an absolute value.
4.3 A new -percentage option added which rather than generating
the full progress-bar instead outputs a percentage. This
can be used with dialog --gauge etc.
4.4 -mkfs-time, -all-time and -root-time options now take
a human date string, in addition to the seconds since
the epoch of 1970 00:00 UTC. For example "now",
"last week", "Wed Mar 8 05:55:01 GMT 2023" are supported.
4.5 -root-uid, -root-gid, -force-uid and -force-gid options now
take a user/group name in addition to the integer uid/gid.
4.6 A new -mem-default option which displays default memory
usage for caches in Mbytes.
4.7 A new -no-compression option which produces no compression,
and it is a short-cut for -noI, -noD, -noF and -noX.
4.8 A new -pseudo-override option which makes pseudo file uids
and gids override -all-root, -force-uid and -force-gid
options. Normally these options take precedence.
5. Unsquashfs minor improvements
5.1 New -all-time option which sets all file timestamps to
<time>, rather than the time stored in the filesystem
inode. <time> can be an integer indicating seconds since
the epoch (1970-01-01) or a human string value such as
"now", "last week", or "Wed Feb 15 21:02:39 GMT 2023".
5.2 New -full-precision option which uses full precision when
displaying times including seconds. Use with -linfo, -lls,
-lln and -llc options.
5.3 New -match option where Unsquashfs will abort if any
extract file does not match on anything, and can not be
resolved.
5.4 New -percentage option added which rather than generating
the full progress-bar instead outputs a percentage. This
can be used with dialog --gauge etc.
6. Sqfstar minor improvements
6.1 A new -ignore-zeros option added which allows tar files to
be concatenated together and fed to Sqfstar. Normally a
tarfile has two consecutive 512 byte blocks filled with
zeros which means EOF and Sqfstar will stop reading after
the first tar file on encountering them. This option makes
Sqfstar ignore the zero filled blocks.
6.2 A new -mem-percent option which allows memory for caches to
be specified as a percentage of physical RAM, rather than
requiring an absolute value.
6.3 A new -percentage option added which rather than generating
the full progress-bar instead outputs a percentage. This
can be used with dialog --gauge etc.
6.4 -mkfs-time, -all-time and -root-time options now take
a human date string, in addition to the seconds since
the epoch of 1970 00:00 UTC. For example "now",
"last week", "Wed Mar 8 05:55:01 GMT 2023" are supported.
6.5 -root-uid, -root-gid, -force-uid and -force-gid options now
take a user/group name in addition to the integer uid/gid.
6.6 A new -mem-default option which displays default memory
usage for caches in Mbytes.
6.7 A new -no-compression option which produces no compression,
and it is a short-cut for -noI, -noD, -noF and -noX.
6.8 A new -pseudo-override option which makes pseudo file uids
and gids override -all-root, -force-uid and -force-gid
options. Normally these options take precedence.
6.9 Do not abort if ZERO filled blocks indicating end of the
TAR archive are missing.
7. Other minor improvements
7.1 If Mksquashfs/Unsquashfs fails to execute generating the
manpages because they have been cross-compiled, fall back
to using the pre-built manpages.
7.2 Add new Makefile configure option USE_PREBUILT_MANPAGES
to always use pre-built manpages rather than generating
them when "make install" is run.
8. Major bug fixes
8.1 Following a symlink in Sqfscat or where -follow-symlinks
option is given with Unsquashfs, incorrectly triggered the
corrupted filesystem loop detection code.
8.2 In Unsquashfs if a file was not writable it could not add
extended attributes to it.
8.3 Sqfstar would incorrectly reject compressor specific
options that have an argument.
8.4 Sqfstar would incorrectly strip pathname components in PAX
header linkpath if symbolic.
8.5 Sqfstar -root-uid, -root-gid and -root-time options were
documented but not implemented.
8.6 Mksquashfs -one-file-system option would not create empty
mount point directory when filesystem boundary crossed.
8.7 Mksquashfs did not check the close() return result.
Squashfs tools 4.5.1
This release adds Manpages, a fix for CVE-2021-41072 and the usual minor
improvements and bug fixes.
1. Major improvements
1.1 This release adds Manpages for Mksquashfs(1), Unsquashfs(1),
Sqfstar(1) and Sqfscat(1).
1.2 The -help text output from the utilities has been improved
and extended as well (but the Manpages are now more
comprehensive).
1.3 CVE-2021-41072 which is a writing outside of destination
exploit, has been fixed.
2. Minor improvements
2.1 The number of hard-links in the filesystem is now also
displayed by Mksquashfs in the output summary.
2.2 The number of hard-links written by Unsquashfs is now
also displayed in the output summary.
2.3 Unsquashfs will now write to a pre-existing destination
directory, rather than aborting.
2.4 Unsquashfs now allows "." to used as the destination, to
extract to the current directory.
2.5 The Unsquashfs progress bar now tracks empty files and
hardlinks, in addition to data blocks.
2.6 -no-hardlinks option has been implemented for Sqfstar.
2.7 More sanity checking for "corrupted" filesystems, including
checks for multiply linked directories and directory loops.
2.8 Options that may cause filesystems to be unmountable have
been moved into a new "experts" category in the Mksquashfs
help text (and Manpage).
3. Bug fixes
3.1 Maximum cpiostyle filename limited to PATH_MAX. This
prevents attempts to overflow the stack, or cause system
calls to fail with a too long pathname.
3.2 Don't always use "max open file limit" when calculating
length of queues, as a very large file limit can cause
Unsquashfs to abort. Instead use the smaller of max open
file limit and cache size.
3.3 Fix Mksquashfs silently ignoring Pseudo file definitions
when appending.
3.4 Don't abort if no XATTR support has been built in, and
there's XATTRs in the filesystem. This is a regression
introduced in 2019 in Version 4.4.
3.5 Fix duplicate check when the last file block is sparse.