Util-linux-ng 2.13 Release Notes (28-Aug-2007) =============================================== Release highlights: ------------------ mount(8) doesn't include NFS client code anymore. Don't forget to install nfs-utils 1.1.0 or newer with /sbin/[u]mount.{nfs,nfs4}. mount(8) doesn't include filesystem detection code anymore. You have to compile --with-fsprobe={blkid,volume_id}, and libblkid (e2fsprogs) or libvolume_id (udev >= v110) is required. mount(8) supports new relatime, context, fscontext, and defcontext mount options. losetup(8) supports command line option "-a" to list all used loop devices, '-s' to print a device name if "-f" and a file argument are present, and "-r" to create a read-only loop device. fdisk(8) Sun label support has been improved. fdisk(8) is also able to warn about detected GPT (fdisk doesn't support GPT). taskset(1) is independent on hardcoded NR_CPUS. chrt(1) supports SCHED_BATCH scheduling policy. The package build system is now based on autotools. The build system supports separate CFLAGS and LDFLAGS for suid programs (SUID_CFLAGS, SUID_LDFLAGS). For more details see the README file hwclock(8) supports command line option --rtc= and /dev/rtc0 device. --systohc functionality has been improved, and it doesn't cause a 500ms inaccuracy each time it is used. Audit system support (--with-audit) has been added to hwclock(8) and login(1). SELinux support (--with-selinux) has been added to mkswap(8) and mount(8). setarch(8) upstream has been merged with util-linux-ng. rtcwake(8) command has been added to util-linux-ng. arch(1) is deprecated in favor of "uname -m" or arch(1) from coreutils (>= 6.9+). The util-linux-ng package doesn't build arch by default, you have to use the option --enable-arch. Fixed security issues: --------------------- CVE-2007-0822 - mount(8) allows local users to trigger a NULL dereference and an application crash CVE-2006-7108 - login(1) omits PAM account validation when auth is skipped Changelog: --------- For more details see ChangeLog files at: ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.13/ agetty: - 8 bit characters on the Linux console lead to input corruption [Samuel Thibault] - add 'O' escape code to display domain name [Karel Zak] - check gethostname() return value [Karel Zak] - fix short malloc in initstring handling [LaMont Jones] blockdev: - add BLKFRAGET/BLKFRASET ioctls [Karel Zak] - cleanup usage() and update man page [Karel Zak] - fix "blockdev --getsz" for large devices [Karel Zak] - use LU and LLU for BLKGETSIZE and BLKGETSIZE64 [Karel Zak] build-sys: - add ${AC,AP,AM,AH}_OPTS to autogen.sh [Karel Zak] - add AC_GNU_SOURCE [Karel Zak] - add Automake option dist-bzip2 [Stepan Kasal] - add --disable-makeinstall-chown [Karel Zak] - add missing files [Karel Zak] - add SUID_CFLAGS [Karel Zak] - add SUID_LDFLAGS [Stepan Kasal] - add support for audit [Karel Zak] - add warning when libuuid is not found [Karel Zak] - amend .gitignore [Stepan Kasal] - call automake after autoconf [Stepan Kasal] - cleanup architecture conditionals [Karel Zak] - cleanup sys-utils/ rdev symlinks [Karel Zak] - configure.am selinux support cleanup [Karel Zak] - declare SUID_CFLAGS and SUID_LDFLAGS as precious [Stepan Kasal] - do not build convenience libraries in lib/ [Stepan Kasal] - do not kick off AM_CFLAGS by SUID_CFLAGS [Stepan Kasal] - do not play with DEFS, use AM_CPPFLAGS [Stepan Kasal] - do not set with_foo twice [Stepan Kasal] - do not use internal Autoconf variables [Stepan Kasal] - do not use wildcards in EXTRA_DIST [Stepan Kasal] - factor out common parts from mount/Makefile.am [Stepan Kasal] - fix directories in EXTRA_DIST [Karel Zak] - fix HAVE_NCURSES [Karel Zak] - fix ifdef ENABLE_WIDECHAR usage [Karel Zak] - fix linking when ncurses is built with --with-termlib=tinfo [Arkadiusz Miskiewicz] - fix README filenames and add missing files to EXTRA_DISTs [Karel Zak] - fix the example configure call in README [Stepan Kasal] - fix the final message of autogen.sh [Stepan Kasal] - in configure.ac, change "po" -> "$srcdir/po" [Stepan Kasal] - in the clean targets use "find ... | xargs rm -f" [Stepan Kasal] - let configure instantiate the misc-utils/*.pl scripts [Stepan Kasal] - make the getopt example directory relative to datadir [Stepan Kasal] - merge adjacent AC_CONFIG_HEADERS and AC_CONFIG_FUNCS calls [Stepan Kasal] - minor fixes in configure.in [Karel Zak] - missing header when NLS is disabled [Gabriel Barazer] - mount/Makefile.am tiny cleanup II [Stepan Kasal] - mount/Makefile.am tiny cleanup [Stepan Kasal] - move -D flags to *_CPPFLAGS [Stepan Kasal] - move the optimization flags to AM_CFLAGS [Stepan Kasal] - --prefix defaults to /usr [Stepan Kasal] - release++ [Karel Zak] - remove aclocal.m4 from SCM [Karel Zak] - remove AC_PROG_RANLIB [Stepan Kasal] - remove asm/page.h test [Karel Zak] - remove config.h.in from VCS [Stepan Kasal] - remove config/include-Makefile.am from EXTRA_DIST [Stepan Kasal] - remove DEFAULT_INCLUDES workaround [Karel Zak] - remove -fomit-frame-pointer [Karel Zak] - remove generated autotools stuff from git [Karel Zak] - remove libtool [Karel Zak] - remove "make mrproper", git-clean is good enough [Karel Zak] - remove po/Makevars.template from EXTRA_DIST [Stepan Kasal] - remove swapargs.h, move the tests to main configure.ac [Stepan Kasal] - rename to -ng, change maintainer name [Karel Zak] - replace AC_TRY_* by AC_*_IFELSE [Stepan Kasal] - s/AC_HELP_STRING/AS_HELP_STRING/ [Stepan Kasal] - set DISTCHECK_CONFIGURE_FLAGS in top-level makefile [Stepan Kasal] - simplify "clean" in tests/Makefile.am [Stepan Kasal] - update po/POTFILES.in [Stepan Kasal] - use dist_example_DATA [Stepan Kasal] - use dist_noinst_DATA to work around the bug with dist_man_MANS [Stepan Kasal] - use dist_noinst_HEADERS in include/Makefile.am [Stepan Kasal] - use dist_usrbinexec_SCRIPTS in misc-utils/Makefile.am [Stepan Kasal] cal: - add test code [Karel Zak] - fix a segfault and -3m highlighting [Karel Zak] - ifdef cleanup, non-curses/tempcap code fixes [Karel Zak] - widechar code cleanup [Karel Zak] cfdisk: - build-sys defines HAVE_RPMATCH, not HAVE_rpmatch [Karel Zak] - fix stupid typo in GPT checker call [Karel Zak] chsh: - don't use empty shell field in /etc/passwd [Karel Zak] - remove tailing wihit-spaces and use PATH_BSHELL [Karel Zak] col: - getwchar() errors shouldn't be hidden [Karel Zak] cytune: - make the oneliner more specific the cyclades hw in question [Justin B Rye] - remove linux/tty.h inclusion [Karel Zak] ddate: - fix compiler warnings [Karel Zak] disk-utils: - fix libuuid usage in mkswap [Matthias Koenig] - let mkfs tools open with O_EXCL [Matthias Koenig] docs: - add DEPRECATED to EXTRA_DIST [Karel Zak] - add note about http //translationproject.org [Karel Zak] - add rdev(8) between deprecated utils [Karel Zak] - add README.licensing [Karel Zak] - add release notes [Karel Zak] - add the DEPRECATED file [Karel Zak] - clean up TODO file and add a new resuest for 2.14 [Karel Zak] - fix authorship of 8-bit cleanup agetty patch [Karel Zak] - fix BSD licence name in README.licensing [Karel Zak] - fix info about devel/master branchs [Karel Zak] - fix URL and typos in README.devel [Karel Zak] - remove deprecated section from README [Karel Zak] - update release notes [Karel Zak] fdisk: - Makefile.am refactoring [Karel Zak] - add GPT detection code [Karel Zak] - add MAC label detection [Karel Zak] - add support for udev persistent device names [Matthias Koenig] - check returns in fdisk from partition changes [Mike Frysinger] - cleanup full disk detection code [Karel Zak] - cleanup partname.c [Karel Zak] - do not complain about regular files [H. Peter Anvin] - fix "differ in signedness" compiler warnings [Karel Zak] - fix "type qualifiers ignored on function return type" [Karel Zak] - many significant improvements and fixes to Sun label handling [David Miller] - move duplicate stuff from fdisk*label.h to fdisk.h [Karel Zak] - use unsigned long long instead int for sectors [Karel Zak] - when generating a DOS disk label, give it an ID [H. Peter Anvin] getopt: - remove old unused files [Karel Zak] hexdump: - don't use memset with zero lenght [Karel Zak] hwclock: - add --rtc= option and support for /dev/rtc0 [Karel Zak] - add support for audit system [Karel Zak] - fix --systohc sets clock 0.5 seconds slow [Karel Zak] - make ggc happy and check return values from fgets, read and write [Karel Zak] - remove tailing white-spaces and clean up clock.h [Karel Zak] ionice: - clean up error handling [Matthias Koenig] - cleanup usage for idle class [Matthias Koenig] - fix ionice build on sparc [David Miller] - prefer SYS_ioprio_{set,get} from glibc to hardcoded version [Karel Zak] ipcs: - add new tests for ipcs limits [Karel Zak] - add regression test for output headers [Karel Zak] - fix typo in Semaphore headers [Karel Zak] - max total shared memory in kbytes instead pages [Karel Zak] logger: - use snprintf instead of sprintf in logger.c [LaMont Jones] login: - add audit support [Karel Zak] - add IPv6 support [Karel Zak] - add regression test for IP address checking code [Karel Zak] - attempt to run if it has no read/write access to its terminal [Jason Vas Dias] - close PAM session after failed pam_setcred [Steve Grubb] - improve work with signals [Karel Zak] - keep syslog useful for end of PAM session. [Karel Zak] - login's timeout can fail [Jason Vas Dias] - omits PAM account validation when auth is skipped (CVE-2006-7108) [Karel Zak] - remove triiling white-spaces [Karel Zak] - replace /usr/spool/mail with /var/spool/main in man page [Karel Zak] - update 32bit utmp correctly on 64bit system [Karel Zak] lomount.c: - don't use mlockall if CRYPT_NONE [Masatake YAMATO] look: - fix problem with !isalnum() words [Karel Zak] - man page clarification [Pádraig Brady] - remove tailing white-spaces [Karel Zak] losetup: - add -a option to list all used loop devices [Karel Zak] - add a new option -s [Karel Zak] - add long options and fix man page [Karel Zak] - add support read-only loops [Karel Zak] - add to man page info about deprecated cryptoloop [Karel Zak] man pages: - add "AVAILABILITY" section [Karel Zak] - cleanup of chrt.1 and taskset.1 [LaMont Jones] mcookie: - remove non-linux code [Karel Zak] misc-util: - new rtcwake command [Bernhard Walle] misc-utils: - add scriptreplay manpage [Matthias Koenig] - remove old cal test [Karel Zak] mkfs: - remove nonsense from man page [Karel Zak] mkfs.cramfs: - cleanup HAVE_ macros usage [Karel Zak] - fix a way how mkfs works with empty files [Karel Zak] - remove hardcoded limit for directories [Karel Zak] mkswap: - add regression test [Karel Zak] - automatically add selinux label to swapfile [Karel Zak] - avoid mkswap usage on already mounted device [Karel Zak] - default to V1 in any case [Matthias Koenig] - fix signedness problems and remove obsolete code [Karel Zak] - gcc happy unsigned long usage [Karel Zak] more: - fix file descriptor leak [Steve Grubb] - fix underlining for multibyte chars [Karel Zak] mount: - add acl option documentation for ext3 and reiserfs [Matthias Koenig] - add note about /etc/mtab unreliability to mount.8 [Karel Zak] - add note about fcntl/ioctl unreliability on NFS to mount.8 [Karel Zak] - add -s and -f and note to man page for external mount helpers [Karel Zak] - add simple (printf-like) debug routine and --debug option [Karel Zak] - add support for context, fscontext and defcontext selinux mount options [Karel Zak] - add support for mixed usage of SPECes [Karel Zak] - add support for mtab "uhelper" option [Karel Zak] - avoid duplicate entries in mtab when mount -f [Karel Zak] - avoid duplicates for root fs in mtab [Matthias Koenig] - call /sbin/mount. also when mounting without "-t" [Karel Zak] - clean up getfs* (fstab.c) interface [Karel Zak] - clean up info about NFS in mount.8 [Karel Zak] - doesn't rpc_pipefs and nfsd on umount -a [Karel Zak] - do not treat arm/sparc specially. [Mike Frysinger] - don't umount sysfs when running umount -a [Mike Frysinger] - fix -f -o remount [Karel Zak] - fix -fv so that it doesn't incorrectly spit out an error that nothing was done. [Mike Frysinger] - fix has_* functions (CVE-2007-0822) [Karel Zak] - fix incorrect behavior when more than one fs type is specified [Attila Áfra] - fix list logic in update_mtab [Karel Zak] - fix memory usage in update_mtab [Mike Frysinger] - fix mtab_lock [Karel Zak] - fix typo in error message [Karel Zak] - free loop device on failure [Sascha Sommer] - fsprobe add libvolume_id support [Karel Zak] - fsprobe add libvolume_id support to configure.ac [Karel Zak] - fsprobe make fsprobe_get_devname functions more generic [Karel Zak] - fsprobe remove mount_guess_fstype.{c,h} [Karel Zak] - fsprobe remove non-blkid code [Karel Zak] - fsprobe rename files to fsprobe_* [Karel Zak] - fsprobe rename the rest of API routines to fsprobe_* [Karel Zak] - fsprobe use blkid cache only when really necessary [Karel Zak] - getfs_* (fstab) interface has to work with canonicalize() [Karel Zak] - kill mount_guess_rootdev [Stepan Kasal] - loop device race condition [Matthias Koenig] - mention hfsplus in mount manpage [LaMont Jones] - needs to handle special mountprog even on guessed file systems. [Karel Zak] - parse SPEC before search in fstab [Karel Zak] - relative atime support [Valerie Henson] - remove all NFS code [Karel Zak] - remove nfsmount() from sundries.h [Karel Zak] - rewrite getfs_by_specdir() without mem leaks [Karel Zak] - shared-subtree support [Karel Zak] - should set proper permissions on locktime [Flávio Leitner] - update mtab correctly when mount --move [Karel Zak] - update xfs mount options [Matthias Koenig] - use encoded labels for volume_id [Kay Sievers] - use growable string for options [Karel Zak] - use loop= option when mounting by /sbin/mount. [Karel Zak] - use realloc for xstrconcat functions [Karel Zak] - use verbose mode instead debug mode [Karel Zak] namei: - fix logic and infinite loop of symlinks [Karel Zak] - new regression test [Karel Zak] newgrp: - add support for /etc/gshadow [Karel Zak] - check result from getgrnam() more carefully [Karel Zak] partx: - add man pages for addpart, delpart and partx [Karel Zak] po: - gettextizing some overlooked messages. [Benno Schulenberg] - rename mount/mntent.c to mount/mount_mntent.c [Karel Zak] - typo in french translation of mount error. [Mike Frysinger] - update cs.po (from translationproject.org) [Petr Pisar] - update de.po (from translationproject.org) [Michael Piefel] - update nl.po (from translationproject.org) [Benno Schulenberg] - update sv.po (from translationproject.org) [Daniel Nylander] - update vi.po (from translationproject.org) [Phan Vinh Thinh] - vipw doesn't use rpmatch, all translations have to use y/n [Karel Zak] raw: - add file with udev rule example [Karel Zak] - don't accept raw0 as a target name [Karel Zak] - move the raw command to /sbin [Karel Zak] - update man page (about dd and O_DIRECT) [Karel Zak] rdev: - should be delivered on amd64 as well as i386. [LaMont Jones] readprofile: - fix on ppc64 [Matthias Koenig] schedutils: - add support for SCHED_BATCH [Karel Zak] - define SCHED_BATCH when compile with old glibc [Karel Zak] - fix chrt docs and pid=0 usage [Matthias Koenig] - remove extra hyptens from man pages [Karel Zak] script: - fix race conditions [Karel Zak] - improve quiet mode [Karel Zak] setarch: - add NLS support [Karel Zak] - add --3gb option fot compatibility with Debian linux{32,64} command [Karel Zak, LaMont Jones] - add __alpha__ support [Balint Cristian] - add parisc/parisc64 support [LaMont Jones] - add sparc32bash alias to keep compatibility with sparc32 [Dennis Gilmore] - cleanup licensing note [Karel Zak] - finish adding parisc support [Karel Zak, LaMont Jones] sfdisk: - fix "differ in signedness" compiler warnings [Karel Zak] - fix "may be used uninitialized" compiler warnings [Karel Zak] - setting default geometry values [Luciano Chavez] swapoff: - correctly handle UUID= and LABEL= identifiers [LaMont Jones] swapon: - cleanup PATH_ macros and tailing white-spaces [Karel Zak] - cleanup fsprobe_*() usage [Karel Zak] - does not correctly deal with symlinks [Marco d'Itri] - fix swapon headers and syscalls [Mike Frysinger] - simplify an #if [Stepan Kasal] sys-utils: - add arch(1) back to the official tree [Karel Zak] - add note about obsolete ramsize option to rdev.8 [Karel Zak] - added setarch command [Karel Zak] - fix man page headers [Karel Zak] - move some man pages from category 8 to 1 [Karel Zak] taskset: - check for existence of sched_getaffinity [Mike Frysinger] - independent of hardcoded NR_CPUS max. [Cliff Wickman] tests: - add basic infrastructure for regression tests [Karel Zak] - add cal -1 test [Karel Zak] - add cal -3 test [Karel Zak] - add cal -y test [Karel Zak] - add expected outputs for cramfs [Karel Zak] - add functions for label, uuid and fstype detection [Karel Zak] - add hwclock systohc test [Karel Zak] - add library for LD_PRELOAD to manipulate with time() in tests [Karel Zak] - add license notices, change from gplv2-only to gplv2-or-later [Karel Zak] - add lock_mtab() performance and reliability test [Karel Zak] - add look test for words with separator [Karel Zak] - add missing header [Matthias Koenig] - add mkfs.cramfs tests [Karel Zak] - add more variants to {mount,fstab}-by-{label,uuid,devname} [Karel Zak] - add mount by devname from fstab [Karel Zak] - add mount by devname test [Karel Zak] - add mount by devname with label in fstab [Karel Zak] - add mount by devname with uuid in fstab [Karel Zak] - add mount by label from fstab test [Karel Zak] - add mount by LABEL test [Karel Zak] - add mount by label with devname in fstab [Karel Zak] - add mount by label with uuid in fstab [Karel Zak] - add mount by UUID from fstab test [Karel Zak] - add mount by UUID test [Karel Zak] - add mount by uuid with devname in fstab [Karel Zak] - add mount by uuid with label in fstab [Karel Zak] - add mount /dev/symlink test [Karel Zak] - add mount --move test [Karel Zak] - add mount -o remount test [Karel Zak] - add return code [Karel Zak] - add script(1) race condition test [Karel Zak] - add simple helper that returns info about system [Karel Zak] - add support for fstab modification [Karel Zak] - add support for suid programs [Karel Zak] - add swapon by devname test [Karel Zak] - add swapon by UUID test [Karel Zak] - add test for /sbin/mount. call [Karel Zak] - add ts_log and --verbose support [Karel Zak] - add ts_ok and ts_failed [Karel Zak] - cleanup blkid cache after test device deinitialization [Karel Zak] - code refactoring -- new ts_device_init function [Karel Zak] - code refactoring -- new ts_skip_nonroot function [Karel Zak] - code refactoring -- new ts_udev_loop_support function [Karel Zak] - enable mtablock test when uid=0 only [Karel Zak] - fix argv[] usage in mnt_test_sysinfo.c [Karel Zak] - fix dependence on blkid [Karel Zak] - fix Makefile.am (add missing tests) [Karel Zak] - fix ts_fstab_add function [Karel Zak] - fix ULONG_MAX usage on 32bit machines [Karel Zak] - "if [...]" clean up [Karel Zak] - make clean need to remove diffs and outputs [Karel Zak] - pass all arguments to ts_init, add ts_has_option function [Karel Zak] - refresh mtablock output in expected/ directory [Karel Zak] - remove dependence on helpers/libpreload-time.so [Karel Zak] - simplify devices usage [Karel Zak] - use $AWK based on configure results [Karel Zak] - use relative paths when sourcing files [Mike Frysinger] text-utils: - fix the more command compilation against termcap [Karel Zak] tools: - add codecheck-config that checks for {HAVE,ENABLE}_ orphans [Karel Zak] vipw: - fix permissions (600->400) for edited /etc/[g]shodow files [Karel Zak] wall: - fix O_NONBLOCK usage [Alan Curry] - remove deprecated sigsetmask() from wall [Karel Zak] - remove unwanted newlines from wall [Karel Zak] whereis: - add lib64 paths [Karel Zak] - Clean up pagesize/PAGE_SIZE usage. [Karel Zak] - also search for __stext in readprofile [Mike Frysinger] - check exit status of autotools [Mike Frysinger] - clean up realpath.[ch] includes and macros [Karel Zak] - execl() should be use NULL not 0 [Karel Zak] - manpage typos [LaMont Jones] - remove hardcoded package name from some utils [Karel Zak]