X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=TODO;h=5f001914bf460725b041a5f7e0deb91974a1efc7;hp=b894e235ed89f381d16b36d0114ac9aaf944041c;hb=109731eb250705e055b98b844d7c0dfb74bcf728;hpb=b5db00e52ee2e20578839e4e4488f7b9af9abc38 diff --git a/TODO b/TODO index b894e235e..5f001914b 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,6 @@ Bugfixes: +* Should systemctl status \* work on all unit types, not just .service? + * enabling an instance unit creates a pointless link, and the unit will be started with getty@getty.service: $ systemctl enable getty@.service @@ -16,6 +18,9 @@ Bugfixes: * systemctl --root=container/ set-default ... is totally borked. +* sd_bus_unref() is broken regarding self-references and "pseudo thread-safety". + See the comment in sd_bus_unref() for more.. + External: * Fedora: when installing fedora with yum --installroot /var/run is a directory, not a symlink @@ -27,14 +32,42 @@ External: Features: +* journalctl: add the ability to look for the most recent process of a binary. journalctl /usr/bin/X11 --pid=-1 or so... + +* set NOTIFY_SOCKET also for control processes + +* drop parsing of chkconfig header lines from service.c + +* mount_cgroup_controllers(): symlinks need to get the label applied + +* For timer units: add some mechanisms so that timer units that trigger immediately on boot don't have the services they run added to the initial transaction and thus confuse Type=idle. Alternatively, split up the boot-up state into two, and make Type=idle only be affected by jobs for the default target, but ignore any further jobs + +* Add RPM macros for registering/unregistering binfmt drop-ins + +* Add timeout to early-boot, and shut down the system if it is hit. Solves the laptop-in-bag problem and is useful for embedded cases + +* sd-resolve: add callback api + +* ImmutableSystem=yes/no or so to mount /usr, /boot read-only/invisible, and leave /var and /etc writable + +* InaccessibleHome=yes/no or so to hide /home and /run/user from a service + +* Run most system services with cgroupfs read-only and procfs with a more secure mode + +* sd-event: generate a failure of a default event loop is executed out-of-thread + +* add "M" as recursive version of "m" to tmpfiles, then use it for + chowning /run/log/journal (but not /var/log/journal), so that we + adjust the perms of journal files created before tmpfiles ran. + +* expose "Locked" property on logind sesison objects + * add bus api to query unit file's X fields. * consider adding RuntimeDirectoryUser= + RuntimeDirectoryGroup= * sd-event: define more intervals where we will shift wakeup intervals around in, 1h, 6h, 24h, ... -* maybe add DefaultTimerAccuracySec= as global config option to set AccuracySec='s default value in .timer units - * gpt-auto-generator: - Support LUKS for root devices - Define new partition type for encrypted swap? Support probed LUKS for encrypted swap? @@ -66,9 +99,6 @@ Features: * "busctl status" works only as root on dbus1, since we cannot read /proc/$PID/exe -* systemctl: support --recursive for list-sockets, list-timers, - ... too, not just for list-units. - * implement Distribute= in socket units to allow running multiple service instances processing the listening socket, and open this up for ReusePort= @@ -89,8 +119,6 @@ Features: on screen, not unlike how job control works on the shell * completions: - - busctl zsh completion is outdated - - systemd-nspawn -Z/-L/-q is missing for zsh - manager property enumeration was broken when systemd moved to /usr/lib/ * cgroups: @@ -155,6 +183,7 @@ Features: ReadOnlyDirectories=... for whitelisting files for a service. * sd-bus: + - make AddMatch calls on dbus1 transports async - when kdbus doesn't take our message without memfds, try again with memfds - systemd-bus-proxyd needs to enforce good old XML policy - port exit-on-idle logic to byebye ioctl @@ -365,7 +394,6 @@ Features: - rework wait filter to not require match callback - better error message if you run systemctl without systemd running - systemctl status output should should include list of triggering units and their status - - in systemctl list-timers show time triggering units ran last * unit install: - "systemctl mask" should find all names by which a unit is accessible @@ -381,7 +409,6 @@ Features: * deal with sendmail/postfix exclusivity * timer units: - - timer events with system resume - timer units should get the ability to trigger when: o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET) o DST changes @@ -551,7 +578,7 @@ Features: * for services: don't set $HOME in services unless requested -* hide PAM/TCPWrap options in fragment parser when compile time disabled +* hide PAM options in fragment parser when compile time disabled * when we automatically restart a service, ensure we restart its rdeps, too. @@ -649,21 +676,20 @@ Features: on Path= matching * sd-rtnl: - - add support for exiting containers without reading them fully first - add support for more attribute types + - inbuilt piping support (essentially degenerate async)? see loopback-setup.c and other places * networkd: - - make sure RTM_NEWLINK messages match both the ifname and kind when setting the ifindex of a netdev - add more keys to [Route] and [Address] sections - add support for more DHCPv4 options (and, longer term, other kinds of dynamic config) - add proper initrd support (in particular generate .network/.link files based on /proc/cmdline) - add reduced [Link] support to .network files - - add IPv4LL tests (inspire by DHCP) - add Scope= parsing option for [Network] - - have smooth transition from LL to routable address, without disconnecting clients. + - properly handle routerless dhcp leases + - set lifetime on the address acquired from dhcp * sd-network: - - make sure ipv4ll and dhcp clients can handle changing mac addresses while running + - add veth netdev support (c.f. http://shorewall.net/bridge-Shorewall-perl.html#veth) External: @@ -703,6 +729,8 @@ External: * fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it +* register catalog database signature as file magic + Regularly: * look for close() vs. close_nointr() vs. close_nointr_nofail()