X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=TODO;h=21996eae90d6aba872731f846a487000f820172c;hb=2e41a51ea4cf68f67d6d1e71482d95d9d50091b3;hp=049b18ae6dcd0046a3482c1ba209fbfe7af0c26c;hpb=ced4d06784dbb19666688947901961f949f2aa6d;p=elogind.git diff --git a/TODO b/TODO index 049b18ae6..21996eae9 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,4 @@ Bugfixes: - * enabling an instance unit creates a pointless link, and the unit will be started with getty@getty.service: $ systemctl enable getty@.service @@ -34,8 +33,6 @@ Fedora 20: CGroup Rework Completion: -* introduce "mainpid" for scopes (or maybe not?) - * implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?) * implement per-slice CPUFairScheduling=1 switch @@ -46,12 +43,82 @@ CGroup Rework Completion: Features: +* sd-bus: synthesized messages should get serial number (uint32_t) -1 + +* sd-event: allow multiple signal handlers per signal + +* timer: expose accuracy as unit setting + +* sd-event: do per-minute coalescing of timer events too + +* when we detect low battery and no AC on boot, show pretty splash and refuse boot + +* move libasyncns into systemd as libsystemd-asyncns + +* calendarspec: support value ranges with ".." notation. Example: 2013-4..8-1 + +* pid1 porting: + - restore selinux access control on properties + +* sd-bus: when triggering property change events, allow a NULL strv indicate that all properties listed as such are send out as changed + +* sd-bus: enforce signatures on response messages + +* sd-bus: make message handlers take an sd_bus_error and generate error replies automatically if they are set + +* sd-bus: when replying to a bus message we should not need to specify the bus again + +* sd-bus: see if we can drop more message validation on the sending side + +* sd-bus: introduce sd_bus_creds object and attach it to messages as well as allow querying it for names + +* sd-bus: support "const" properties as flag + +* sd-bus: add api call to escape bus path components + +* sd-event: when a handler returns an error, just turn off its event + source, but do not return anything up to the event loop + caller. Instead add parameter to sd_event_request_quit() to take + retval. This way errors rippling upwards are the option, not the + default + +* sd-event: child pid handling: first invoke waitid(WNOHANG) and call event handler, only afterwards reap the process + +* sd-event: native support for watchdog stuff + +* machined, localed: when we try to kill an empty cgroup, generate an ESRCH call over the bus + +* sd-bus: SD_BUS_COMMENT() macro for inclusion in vtables, syntax inspired by gdbus + +* libsystemd-journal, libsystemd-login, libudev: add calls to easily attach these objects to sd-event event loops + +* be more careful what we export on the bus as (usec_t) 0 and (usec_t) -1 + +* check :no-sender logic after PID 1 conversion + +* increase journal files by a few MB each time, instead of piecemeal + +* add field to transient units that indicate whether systemd or somebody else saves/restores its settings, for integration with libvirt + +* systemctl: rework wait filter to not require match callback + +* unify dispatch table in systemctl_main() and friends + +* bus: access policy as vtable flag + +* journalctl: support -M to read journal of containers and determine journal directory from root directory of container + +* tmpfiles: to make sure we don't delete unpacked tarballs with old timestamps right-away never delete stuff that is inside a directory with a new mtime + +* "systemctl mask" should find all names by which a unit is accessible + (i.e. by scanning for symlinks to it) and link them all to /dev/null + * Automatically configure swap partition to use for hibernation by looking for largest swap partition on the root disk? * remove NSS usage from PID 1 (notably the specifiers) * socket-proxyd: - - Support multiple inherited sockets mapped using different proxies + - Support multiple inherited sockets mapped to different remote hosts - Use a nonblocking alternative to getaddrinfo - Until we can start daemons directly, find a less ugly, less racy alternative than shell scripts for the second man page example. - Support starting daemons directly without requiring a shell script; update man pages @@ -131,8 +198,6 @@ Features: * load .d/*.conf dropins for device units -* add a fixed dbus path for "my own unit", "my own session", ... to PID1, logind, ... - * service_coldplug() appears to reinstall the wrong stop timeout watch. * transient units: allow creating auxiliary units with the same call @@ -222,7 +287,7 @@ Features: * test/: - add 'set -e' to scripts in test/ - make stuff in test/ work with separate output dir - - remove all the duplicated code in test/ + - qemu wrapper script: http://www.spinics.net/lists/kvm/msg72389.html * systemctl delete x.snapshot leaves no trace in logs (at least at default level). @@ -334,7 +399,6 @@ Features: - logind: non-local X11 server handling - logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API - pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree - - logind: GetSessionByPID() should accept 0 as PID value - we should probably handle SIGTERM/SIGINT to not leave dot files around, just in case * exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty. @@ -489,6 +553,7 @@ Features: - nspawn: maybe add a way to drop additional caps, in addition to add additional caps - nspawn: maybe explicitly reset loginuid? - nspawn: make it work for dwalsh and shared /usr containers -- tmpfs mounts as command line parameters, selinux exec context + - refuses to boot containers without /etc/machine-id (OK?), and with empty /etc/machine-id (not OK). * cryptsetup: - cryptsetup-generator: allow specification of passwords in crypttab itself