X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=TODO;h=fd2cfcb12490c44ea84318489b1a6c7a3ab92acb;hp=df578808c60cf10953aeab32816f152eb7fabedb;hb=21ac6ff143cc8bebfbd1818af28e8c6f82cd5265;hpb=0058679911db806b6db2fa445a1ce879a436c9d6 diff --git a/TODO b/TODO index df578808c..fd2cfcb12 100644 --- a/TODO +++ b/TODO @@ -10,16 +10,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 +27,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 +67,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 +103,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 @@ -106,18 +124,15 @@ Features: * 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 @@ -125,7 +140,11 @@ Features: - GVariant - "const" properties (posted) - port exit-on-idle logic to byebye ioctl - - make use of "drop" ioctl in pid 1 bus activation + - 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 + - introduce sd_bus_emit_object_added()/sd_bus_emit_object_removed() that automatically includes the build-in interfaces in the list * sd-event - allow multiple signal handlers per signal? @@ -650,15 +669,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: