chiark / gitweb /
includes: remove duplicate includes
[elogind.git] / TODO
diff --git a/TODO b/TODO
index 0069a924133f9d294835f0197af982d6748ff6b9..1a1e8893196bd1ca5ec45a2e150ae6a0a963b658 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,10 @@
 Bugfixes:
+* killing nspawn with ]]] results in:
+   machine-f20.scope stopping timed out. Killing.
+   Stopped Container f20.
+   Unit machine-f20.scope entered failed state.
+  and it cannot be started again
+
 * enabling an instance unit creates a pointless link, and
   the unit will be started with getty@getty.service:
     $ systemctl enable getty@.service
@@ -10,16 +16,13 @@ Bugfixes:
 
 * properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
 
-* When we detect invalid UTF-8, we cannot use it in an error message:
-  log...("Path is not UTF-8 clean, ignoring assignment: %s", rvalue);
-
 * shorten the message to sane length:
 
   Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory. See system logs and 'systemctl status display-manager.service' for details.
 
-External:
+* systemctl --root=container/ set-default ... is totally borked.
 
-* ps should gain colums for slice
+External:
 
 * Fedora: when installing fedora with yum --installroot /var/run is a directory, not a symlink
    https://bugzilla.redhat.com/show_bug.cgi?id=975864
@@ -30,6 +33,26 @@ External:
 
 Features:
 
+* hookup nspawn and PrivateNetwork=yes with "ip netns"
+
+* socket units: support creating sockets in different namespace,
+  opening it up for JoinsNamespaceOf=. This would require to fork off
+  a tiny process that joins the namespace and creates/binds the socket
+  and passes this back to PID1 via SCM_RIGHTS. This also could be used
+  to allow Chown/chgrp on sockets without requiring NSS in PID 1.
+
+* New service property: maximum CPU and wallclock runtime for a service
+
+* introduce bus call FreezeUnit(s, b), as well as "systemctl freeze
+  $UNIT" and "systemctl thaw $UNIT" as wrappers around this. The calls
+  should SIGSTOP all unit processes in a loop until all processes of
+  it are fully stopped. This can later be used for app management by
+  desktop UIs such as gnome-shell to freeze apps that are not visible
+  on screen, not unlike how job control works on the shell
+
+* machinectl bash completion is missing
+* busctl bash and zsh completions are outdated
+
 * libsystemd-journal returns the object created as first param in sd_journal_new(), sd_bus_new() and suchlike as last...
 
 * cgroups:
@@ -50,9 +73,9 @@ Features:
 * code cleanup
   - we probably should replace the left-over uses of strv_append() and replace them by strv_push() or strv_extend()
 
-* when we detect low battery and no AC on boot, show pretty splash and refuse boot
+* Automatically configure swap partition to use for hibernation by looking for largest swap partition on the root disk?
 
-* move libasyncns into systemd as libsystemd-asyncns
+* when we detect low battery and no AC on boot, show pretty splash and refuse boot
 
 * machined, localed: when we try to kill an empty cgroup, generate an ESRCH error over the bus
 
@@ -86,6 +109,7 @@ Features:
 
 * given that logind now lets PID 1 do all nasty work, we can
   probably reduce the capability set it retains substantially.
+  (we need CAP_SYS_ADMIN for drmSetMaster(), so maybe not worth it)
 
 * btrfs raid assembly: some .device jobs stay stuck in the queue
 
@@ -101,31 +125,31 @@ Features:
   Maybe take a BSD lock at the disk device node and teach udev to
   check for that and suppress event handling.
 
-* document logic of auto/noauto and fail/nofail in fstab in systemd.mount or systemd-fstab-generator man page
-
 * something pulls in pcre as shared object dependency into our daemons such as hostnamed.
 
 * allow implementation of InaccessibleDirectories=/ plus
   ReadOnlyDirectories=... for whitelisting files for a service.
 
-* libsystemd-bus:
+* sd-bus:
   - when kdbus doesn't take our message without memfds, try again with memfds
   - implement monitor logic
   - see if we can drop more message validation on the sending side
   - add API to clone sd_bus_message objects
-  - SD_BUS_COMMENT() macro for inclusion in vtables, syntax inspired by gdbus
   - systemd-bus-proxyd needs to enforce good old XML policy
   - upload minimal kdbus policy into the kernel at boot
   - kdbus: matches against source or destination pids for an "strace -p"-like feel. Problem: The PID info needs to be available in userspace too...
-  - longer term:
-    * priority queues
-    * priority inheritance
+  - longer term: priority inheritance
   - check sender of response messages
   - dbus spec updates:
        - kdbus mapping
        - NameLost/NameAcquired obsolete
        - GVariant
        - "const" properties (posted)
+  - port exit-on-idle logic to byebye ioctl
+  - update systemd.special(7) to mention that dbus.socket is only about the compatibility socket now
+  - allow updating attach flags during runtime
+  - pid1: peek into activating message when activating a service
+  - test bloom filter generation indexes
 
 * sd-event
   - allow multiple signal handlers per signal?
@@ -650,15 +674,13 @@ Features:
    - Check if Driver= is broken, or just my driver (bcma)
 
 * sd-rtnl:
-   - replace sd_rtnl_message_append() by type-safe versions
-   - improve container support, and add support for entering containers when reading
+   - add support for exiting containers without reading them fully first
    - add support for more attribute types
 
 * networkd:
-   - unify and clarify logging, also use proper structured log messages
-   - add [Route] sections
-   - add more keys to [Address] sections
-   - add DHCPv4 support (and, longer term, other kinds of dynamic config)
+   - add more keys to [Route] and [Address] sections
+   - add support for more DHCPv4 options (and, longer term, other kinds of dynamic config)
+   - allow opting out of receiving DNS servers over DHCPv4
    - add proper initrd support (in particular generate .network/.link files based on /proc/cmdline)
 
 External: