
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=<path> 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:
 https://www.kernel.org/pub/linux/utils/util-linux/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 Miśkiewicz]
   - 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 trailing white-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 branches  [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 length  [Karel Zak]
hwclock:
   - add --rtc=<path> 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 trailing 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 trailing 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.<type> 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.<type>  [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 trailing 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.<type> 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]

