E2fsprogs 1.43.1 (June 8, 2016) =============================== Fixed e2fsck so that it would correctly update the project quota usage when deleting a corrupted and inode, and fixed mke2fs so it wouldn't dereference memory beyond the small inode structure (which was wrong, but worked mostly by accident unless hardening or some security malloc was in use). Fixed a large number of FreeBSD portability problems. (To build on FreeBSD, however, we still need to use GNU Make and redirect dd to use GNU dd.) The configure script now supports --enable-hardening, which enables stack protection, fortify, read-only relocation tables, immediate dynamic symbol binding, and text segment ASLR (if the kernel has userspace ASLR support enabled) by enabling position independent executable code. (Distributions who want to do their own special thing can set CFLAGS, CFLAGS_SHLIB, CLFAGS_STLIB, LDFLAGS, LDFLAGS_SHLIB and LDFLAGS_STATIC as appropriate.) The configure script now supports --disable-tdb since on 64-bit systems, it's much faster to just enable additional swap space. The scratch_files feature in e2fsck.conf is mostly only useful on 32-bit systems. Fixed the Direct I/O fallback codepath in the Unix I/O manager so that read/modify/write worked correctly. Fortunately in practice (with the exception of the Undo handler when running on FreeBSD) used this buggy codepath. so file systems weren't getting corrupted. Mke2fs will now warn if the user provides a label which is too long. (Addresses Debian Bug: #791630) Debugfs's rdump command now works correctly when dumping the root directory of a file system. (Addresses Debian Bug: #766125) Fixed a bug in debugfs so it would correctly calculate a block group's checksum field field on 64-bit systems. E2fsck now has a much more understandable error message when the journal superblock is corrupt and the user declines to fix it. (Addresses Debian Bug: #768162) Fixed support of extended timestamps on 64-bit systems. Updated/fixed various man pages. (Addresses Debian Bugs: #766379, #761144, #770750, #428361, #766127) Fixed various Debian Packaging Issues. (Addresses Debian Bug: #825868) Programming notes ----------------- Fixed coverity, sparse, gcc -Wall, and clang warnings/nits. Fixed Android build makefiles (which was missing a newly added file in lib/support). In general, checks on s_creator_os have been removed in favor of feature flag specific checks; if there is something that can't be checked via the presence of a feature flag, we will simply check whether the creator OS is *not* EXT2_OS_HURD which is the one operating system where there has been extensive abuse of the s_creator_os flag. The libmagic library has been suppressed when running the regression test suite to avoid false test failures caused by differences between versions of libmagic (and/or the magic number database). The tests/test_script program now accepts the --failed option, which will run those tests that had previously failed. Fixed tests build on those systems which require LDFLAGS to be set. Fixed the regression test suite so it will properly filter out version numbers with two components (such as 1.43) from log files before comparing them with the expected golden output.