Note that items with (!) have high priority. build-sys --------- - for example ./configure --disable-all-programs --enable-hwclock enables only hwclock, unfortunately we have no --enable/disable for all programs. It would be nice to have generic --enable-programs , for example: ./configure --disable-all-programs --enable-programs hwclock,lsblk tests (!): --------- - add a new --enable-clang-asan to ./configure - add a new --asan option to tests/run.sh - rename tests/run.sh --memcheck to --valgrind - rename tests/functions.sh:ts_valgrind() to ts_run() - improve ts_run() to be sensitive to --asan or --valgrind (etc.) - use export ASAN_OPTIONS='detect_leaks=0' by default - add TS_ENABLE_MEMLEAK_CHECK=yes to tests where we want to check for memory leaks Note we don't want free-before-exit code in simple utils, so no all memory leaks are relevant. We care about leaks in libs, deamons, etc. and then we can use $ ./configure --enable-clang-asan $ cd tests $ ./run.sh --asan su/runuser ---------- - (!) implement pty container for all su/runuser session (something like script(1)) to separate user from the original terminal (see CVE-2016-2779) - add functions strtime_short(), strtime_iso(), strtime_ctime(), ... cleanup lib/path.c: ------------------ - always return rc from all functions - introduce control struct and use openat() from top-level path (e.g. top-level is /proc, etc) - use lib/path.c as low-level API for lib/sysfs.c - now we duplicate code in functions like {path,sysfs}_read_u32, etc. - it would be also nice to have a way how to redirect sysfs.c functions to /sys snapshots (e.g. lsblk regression tests) lscpu ----- - read cpuid and uname information from file if --sysroot is specified, then we can prepare regression tests completely independent on hw and architecture. lsblk ----- - currently it does not show mountpoint for all devices in btrfs RAID. It's because /proc/#/mountinfo contains reference to the one device only. Maybe we can add some btrfs specific code to provide a better output for FS based stacks. Not sure. https://bugzilla.redhat.com/show_bug.cgi?id=1084453 cfdisk ------ - (!) add auto-sort support (sort partitions automatically) and --sort={auto,never,always} command line option. This feature should be enabled by default for logical partitions if we created all container (extended partition) in the current session. agetty ----- - support default issue (/etc/issue) output for agetty to make it agetty usable on systems with empty /etc. This change is little bit controversial, because now agetty prints nothing by default and it's probably used by admins to hide information about the system to unauthorized users. We already have --noissue to disable issue output. The question is if admins use this option, "rm /etc/issue" is probably easer than modify inittab (or systemd unit file). Maybe we can implement it by --enable-agetty-default-issue compile option and move the decision to downstream maintainers ;-) nsenter(1) ---------- - read the default UID and GID from the target process. http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/9553/focus=9585 hwlock ------ - use /var/lib/hwclock/drift to store hw-clock drift numbers. - use /etc/adjtime as read-only for UTC/LOCAL information only - the /var/lib/hwclock/drift should be implemented backwardly compatible, it means use the file only if exists, otherwise follow /etc/adjtime bash completion --------------- - Optional argument handling requires user to press backspace to get argument completion. - Comma separated value, e.g., --output 'value1,value2', are not completed for users. libmount (mount/umount) ----------------------- - support CAP_SYS_ADMIN; for mount(2) syscall the CAP_SYS_ADMIN is good enough. Unfortunately, mount(8) does more things like check for filesystem type (but it's usually done by udev, so root perms are unnecessary), create loop devices, write to /run/mount/utab or /etc/mtab, etc. It would be nice to improve libmount to check for CAP_SYS_ADMIN if suid not set and allow to use it for simple tasks where no another operation is necessary. - allow to execute mount(2) in another namespace, something like: mount --namespace=/proc/$n/ns/mnt /dev/sda2 /bar see https://bugzilla.redhat.com/show_bug.cgi?id=1199554 for more details. - add options to control fstab/mtab mount options usage, something like: --options-mode={ignore,append,prepend,replace} MNT_OMODE_{IGNORE, ...} --options-source={fstab,mtab,disable} MNT_OMODE_{FSTAB,MTAB,NOTAB} --options-source-force MNT_OMODE_FORCE (all this already supported by libmount) partx ----- - support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used. docs ---- - (!) use something better than gtk-doc for libmount and libblkid (doxyden?) - (!) add API documentation to libuuid login-utils: ----------- - consolidate newgrp(1) * we have "su --group/--supp-group" to switch between groups, newgrp(1) in util-linux and shadow-utils (and sg(1) alias in shadow-utils) * the unique functionality provided by newgpr(1) is support for group passwords [/etc/gshadow] -- do we really need this functionality? * maybe we can mark group-passwords as deprecated, and replace sg(1) and newgpr(1) with su(1) code. The another way is to ask fro group password in su --group too. * note that shadow-utils newgpr(1) provides support for syslog and audit log. libuuid ------- - add support for UUID v3 and v5 (Object IDs based UUIDs hashed by MD5/SHA1, see RFC 4122) https://github.com/karelzak/util-linux/issues/495 libblkid -------- - (!) don't use internally blkid_loff_t, rather use off_t, size_t, ssize_t, stdint.h types and so on... - add FSSIZE value -- filesystem size (klibc requirement) - (!) add support for dasd PT (used for example on s390) libfdisk -------- - add support for Apple Partition Map (see libblkid/src/partitions/mac.c) http://en.wikipedia.org/wiki/Apple_Partition_Map misc ---- - add mllockall() and SCHED_FIFO to hwclock, see http://lkml.org/lkml/2008/10/12/132 --------------- exotic requests --------------- - add SELinux security contexts support to the 'ipcs' utility http://bugzilla.redhat.com/show_bug.cgi?id=225342 Would be great to list the current system IPC Objects with their respective security labels (where allowed) with something like 'ipcs -Z' - following the way other tools reports those.