]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - Documentation/TODO
libfdisk: fix fdisk_script_get_table()
[thirdparty/util-linux.git] / Documentation / TODO
index 68980c8af5f53b82856bb0e6d52d33c216b50f7f..a4a8d789045e77e1062562a9f1ab34e4df007eff 100644 (file)
@@ -1,33 +1,38 @@
 
  Note that items with (!) have high priority.
 
-build-sys
----------
-  - for example 
-               ./configure --disable-all-programs --enable-hwclock
+col
+---
+  - use unsigned sizes for columns and lines
+  - check for limits to avoid segfaults
+  - make it more robust
+  https://github.com/karelzak/util-linux/issues/749
+
+cal
+---
+   - add option to print calendar in vertical way
+     https://github.com/karelzak/util-linux/issues/604
+   - support another --reforms, see for example freebsd version
+     https://github.com/freebsd/freebsd/blob/master/usr.bin/ncal/ncal.c#L72
+
+script
+------
+   - introduce a new timing file format to record information about multiple
+     streams (stdout, stdin) and events (signals)
 
-    enables only hwclock, unfortunately we have no --enable/disable for all programs.
-    It would be nice to have generic --enable-programs <list>, for example:
+   - add support for stdin loggin -- separated log file with raw input and timing
+     records in the timing file
 
-               ./configure --disable-all-programs --enable-programs hwclock,lsblk              
+   - for example timing file format:
+              
+             <type> <timestamp> [<offset> | <signal> ...]
+
+            O 0.001296 256
+            S 0.001297 SIGWINCH: columns=50, lines=20
+            I 0.000010 10
+
+     O - output, S - signal, I - input
 
-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
 -----
@@ -41,28 +46,6 @@ lsblk
     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.
@@ -85,6 +68,13 @@ bash completion
 libmount (mount/umount)
 -----------------------
 
+ - add --onlyonce to force mount(8) to check if mountpoint is already used. Now
+   "already mounted" detection is used for --all only. The problem is if you
+   call "mount <mountpoint>" more than once for in fstab defined tmpfs (or network
+   filesystem etc.). In this case kernel does not return EBUSY, but a new instance
+   of the FS is created. https://github.com/karelzak/util-linux/issues/448
+   (... just idea, maybe wrong idea)
+
  - 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
@@ -94,25 +84,20 @@ libmount (mount/umount)
    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.
      
 
+getopt
+------
+  It would be great if getopt could optionally ignore unknown options.
+  Currently, it outputs -- for every option it doesn't recognize but leaving the
+  option as it is could beneficial wrapper scripts which could then pass the
+  options they don't recognize as they are to the command they are wrapping.
+  https://github.com/karelzak/util-linux/issues/701
+
 docs
 ----
 
@@ -130,36 +115,27 @@ login-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
+      newgpr(1) with su(1) code. The another way is to ask for 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 BitLocker Drive Encryption 
+   https://github.com/karelzak/util-linux/issues/617
+   https://github.com/libyal/libbde/blob/master/documentation/BitLocker%20Drive%20Encryption%20(BDE)%20format.asciidoc
 
  - (!) add support for dasd PT (used for example on s390)
 
 libfdisk
 --------
 
- - (!) use fputs_quoted() when print partition name= and allow to use \x%02x
-       for input to escape unprintable chars and quotes.
-
  - add support for Apple Partition Map (see libblkid/src/partitions/mac.c)
    http://en.wikipedia.org/wiki/Apple_Partition_Map
 
+
 misc
 ----