X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=TODO;h=a8ab3527a34f3c4f2ea895078317a5b15cf616dd;hp=be0878dd9f477a4546d38f5c4eafd2f57854d820;hb=99e68c0b2d6ca9d491036920fcbca4c8d54404a8;hpb=14e639ae7a1dbf156273ce697d30fbc6c6594209 diff --git a/TODO b/TODO index be0878dd9..a8ab3527a 100644 --- a/TODO +++ b/TODO @@ -7,35 +7,68 @@ Bugfixes: * make anaconda write timeout=0 for encrypted devices -* fix broken Sockets=syslog-ng.socket packaging - -* logind: ensure ACLs are updated on login and logout - -* fix CUPS .path unit for globbing - * service: pid file reading after reload doesn't work, since we don't reset the pid variable * make sure timeouts are applied to Type=oneshot services. +* Dangling symlinks of .automount unit files in .wants/ directories, set up + automount points even when the original .automount file did not exist + anymore. Only the .mount unit was still around. + +* make polkit checks async + Features: + +* when an instanced service exits, remove its parent cgroup too if possible. + +* Make libselinux, libattr, libcap, libdl dependencies only of the tools which actually need them. + +* as Tom Gundersen pointed out there's a always a dep loop if people use crypto file systems with random keys + +* unset container= in PID1? + +* automatically escape unit names passed on the service (i.e. think "systemctl start serial-getty.service@serial/by-path/jshdfjsdfhkjh" being automatically escaped as necessary. + +* if we can not get user quota for tmpfs, mount a separate tmpfs instance + for every user in /run/user/$USER with a configured maximum size + +* default to actual 32bit PIDs, via /proc/sys/kernel/pid_max + +* add an option to make mounts private/shareable and so on, enable this for root by default + +* internal restart counter for units (focus on auto-respawn) + +* finer-grained auto-respawn settings (rate-limit) + +* be able to specify a forced restart of service A where service B depends on, in case B + needs to be auto-respawned? + +* Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files" + +* introduce sd_log_open() to create a connection to the syslog bridge via sd-daemon.h + +* when a bus name of a service disappears from the bus make sure to queue further activation requests + +* something like ConditionExec= or ExecStartPre= without failure state + +* service restart retry configuration + +* tmpfiles: apply "x" on "D" too (see patch from William Douglas) +* tmpfiles: support generation of char/block devices, symlinks and one-line files (think sysfs) + +* Introduce ControlGroupPersistant=yes to set +t on the tasks file when creating the cgroup + * don't set $HOME in services unless requested * remove hacks in vala code and require libnotify 0.7 * hide PAM/TCPWrap options in fragment parser when compile time disabled -* make arbitrary cgroups attributes settable - * when we automatically restart a service, ensure we retsart its rdeps, too. * allow Type=simple with PIDFile= https://bugzilla.redhat.com/show_bug.cgi?id=723942 -* rename systemd-logger to systemd-stdio-syslog-bridge - -* file bugs against sysklogd, syslog-ng because of StandardOuput=null -* turn default stdout/stderr to syslog (after rsyslog got updated) - * move PAM code into its own binary * warn if the user stops a service but not its associated socket @@ -44,10 +77,6 @@ Features: * logind: non-local X11 server handling -* logind: use sysfs path in device hash table instead of sysname, as soon as fb driver is fixed - -* timedated: implement NTP calls - * implement Register= switch in .socket units to enable registration in Avahi, RPC and other socket registration services. @@ -84,12 +113,6 @@ Features: * GC unreferenced jobs (such as .device jobs) -* add JoinControllers= to system.conf to mount certain cgroup - controllers together in order to guarantee atomic creation/addition - of cgroups - -* avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services - * cgroup_notify_empty(): recursively check groups up the tree, too * when failing to start a service due to ratelimiting, try again later, if restart=always is set @@ -102,13 +125,15 @@ Features: - cgroup best pratices to avoid stepping on each others toes - how to pass throw-away units to systemd, or dynamically change properties of existing units - how to integrate cgconfig and suchlike with systemd + - security properties + - xinetd conversion + - details of instantiated @.service setups * allow port=0 in .socket units * move readahead files into /var, look for them with .path units * teach dbus to activate all services it finds in /etc/systemd/services/org-*.service -* figure out what happened to bluez patch * support systemd.mask= on the kernel command line. @@ -124,8 +149,6 @@ Features: * maybe introduce ExecRestartPre= -* Patch systemd-fsck to use -C and pass console fd to it - * configurable jitter for timer events * timer events with system resume @@ -145,6 +168,8 @@ Features: * exec settings override * writable cgroups dbus properties for live changes +* read config fragments for all units from /lib/systemd/system/foobar.service.d/ to override/extend specific settings + * port over to LISTEN_FDS/LISTEN_PID: - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH - cups HAVEPATCH @@ -175,11 +200,12 @@ Features: External: * dbus: - - get process transport into dbus for systemctl -P/-H + - get process transport into dbus for systemctl -P/-H (PENDING) - dbus --user - - natively watch for dbus-*.service symlinks + - natively watch for dbus-*.service symlinks (PENDING) - allow specification of socket mode/umask when allocating DBusServer - allow disabling of fd passing when connecting a AF_UNIX connection + - allow disabling of UID passing for AUTH EXTERNAL * systemd --user PR_SET_CHILD_REAPER patch: https://lkml.org/lkml/2011/7/28/426