X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=TODO;h=e3874863ad44218f84f0cdb5d54b2d3f1a939680;hp=7ad00f7da5569ba7e7cb5804f134f5366b2082ca;hb=1b5995b0395fda2c495579a21b73698d1099c487;hpb=d74ab852161d2dc4093d369495ddfa18460cfd76 diff --git a/TODO b/TODO index 7ad00f7da..e3874863a 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 @@ -13,8 +12,6 @@ Bugfixes: automount points even when the original .automount file did not exist anymore. Only the .mount unit was still around. -* make polkit checks async - * 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: @@ -36,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 @@ -48,18 +43,86 @@ CGroup Rework Completion: Features: +* 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 * optimize the cgroup propagation bits, especially unit_get_members_mask(), cgroup_context_get_mask() -* sd_bus_message_enter_container() should optionally allow 0 as type and/or NULL as content signature in case the caller wants to enter unknown containers - * "systemctl cat" or "systemctl view" command or or so, that cats the backing unit file of a service, plus its drop-ins and shows them in a pager * rfkill,backlight: we probably should run the load tools inside of the udev rules so that the state is properly initialized by the time other software sees it @@ -133,8 +196,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 @@ -156,8 +217,6 @@ Features: * document logic of auto/noauto and fail/nofail in fstab in systemd.mount or systemd-fstab-generator man page -* we should properly escape ssh hostnames we add into dbus server strings - * something pulls in pcre as shared object dependency into our daemons such as hostnamed. * document systemd-journal-flush.service properly @@ -226,7 +285,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). @@ -338,7 +397,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. @@ -415,11 +473,14 @@ Features: * timer units: - configurable jitter for timer events + - Adjust timers to be triggered at the same time as sd-event timers - 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 - Support 2012-02~4 as syntax for specifying the fourth to last day of the month. + - Modulate timer frequency based on battery state + - anacron-like feature * update the kernel's TZ (sys_tz) when DST changes @@ -490,6 +551,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