X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=TODO;h=da59f7997a49d0da0d19f4c4f5b706aca071509c;hp=65b11c7b2843edf76c8b240fece3696df9bcf234;hb=10e4e52be8246fde0835212125ef97fea962df1b;hpb=4734b895641bd1cfb47b2eb62b0ce3f2565aa578 diff --git a/TODO b/TODO index 65b11c7b2..da59f7997 100644 --- a/TODO +++ b/TODO @@ -4,8 +4,6 @@ Bugfixes: $ systemctl enable getty@.service ln -s '/usr/lib/systemd/system/getty@.service' '/etc/systemd/system/getty.target.wants/getty@.service' -* swap units that are activated by one name but shown in the kernel under another are semi-broken - * 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. @@ -32,6 +30,8 @@ External: Features: +* libsystemd-journal returns the object created as first param in sd_journal_new(), sd_bus_new() and suchlike as last... + * cgroups: - implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?) - implement per-slice CPUFairScheduling=1 switch @@ -47,9 +47,11 @@ Features: - add field to transient units that indicate whether systemd or somebody else saves/restores its settings, for integration with libvirt - ensure scope units may be started only a single time -* switch to SipHash for hashmaps/sets? +* code cleanup + - get rid of readdir_r/dirent_storage stuff, it's unnecessary on Linux + - we probably should replace the left-over uses of strv_append() and replace them by strv_push() or strv_extend() -* general: get rid of readdir_r/dirent_storage stuff, it's unnecessary on Linux +* switch to SipHash for hashmaps/sets? * when we detect low battery and no AC on boot, show pretty splash and refuse boot @@ -65,16 +67,12 @@ Features: * 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:Use a nonblocking alternative to getaddrinfo * 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 * Add a new Distribute=$NUMBER key to socket units that makes use of SO_REUSEPORT to distribute network traffic on $NUMBER instances -* we probably should replace the left-over uses of strv_append() and replace them by strv_push() or strv_extend() - * move config_parse_path_strv() out of conf-parser.c * After coming back from hibernation reset hibernation swap partition using the /dev/snapshot ioctl APIs @@ -114,40 +112,30 @@ Features: ReadOnlyDirectories=... for whitelisting files for a service. * libsystemd-bus: - - default policy (allow uid == 0 and our own uid) - - access policy as vtable flag - - enforce alignment of pointers passed in - when kdbus doesn't take our message without memfds, try again with memfds - implement translator service - - implement busname unit type in systemd - - move to gvariant - implement monitor logic - properly map matches with well-known names against messages with unique names - when triggering property change events, allow a NULL strv indicate that all properties listed as such are send out as changed - - enforce signatures on response messages - see if we can drop more message validation on the sending side - support "const" properties as flag - add API to clone sd_bus_message objects - SD_BUS_COMMENT() macro for inclusion in vtables, syntax inspired by gdbus - - unelss configure option is specified refuse connecting and creating kdbus, so that we can break compat + - sort out error codes for sd_bus_release_name(), distuingish: successful removal from foreign name, from non-existing name + - kdbus: matches against source or destination pids for an "strace -p"-like feel. Problem: The PID info needs to be available in userspace too... + - kdbus: we need a way to distuingish messages we got due to monitoring from normal messages, since we want to bind methods only to the latter + - kdbus: when we do "systemctl daemon-reexec" the call doesn't get properly cancelled - longer term: * priority queues * priority inheritance * sd-event - - allow multiple signal handlers per signal - - 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 - - child pid handling: first invoke waitid(WNOHANG) and call event handler, only afterwards reap the process - - native support for watchdog stuff + - allow multiple signal handlers per signal? * in the final killing spree, detect processes from the root directory, and complain loudly if they have argv[0][0] == '@' set. https://bugzilla.redhat.com/show_bug.cgi?id=961044 - * Introduce a way how we can kill the main process of a service with KillSignal, but all processes with SIGKILL later on https://bugzilla.redhat.com/show_bug.cgi?id=952634 @@ -171,7 +159,6 @@ Features: * test/: - add 'set -e' to scripts in test/ - make stuff in test/ work with separate output dir - - 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). @@ -221,11 +208,6 @@ Features: * think about window-manager-run-as-user-service problem: exit 0 → activate shutdown.target; exit != 0 → restart service -* msgcatalog determine default language of entries from the catalog - file name. i.e. foobar.de_DE.catalog would set the default entry - name for the entries to de_DE if they aren't explicitly suffixed - individually. - * use "log level" rather than "log priority" everywhere * timedate: have global on/off switches for auto-time (NTP), and auto-timezone that connman can subscribe to. @@ -356,7 +338,6 @@ Features: - support "systemctl stop foobar@.service" to stop all units matching a certain template - Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files" - rework wait filter to not require match callback - - "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 - 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 trggering units ran last @@ -442,7 +423,6 @@ Features: - nspawn: investigate whether we can support the same as LXC's lxc.network.type=phys mode, and pass through entire network interfaces to the container - - 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). @@ -450,6 +430,7 @@ Features: SOCK_RAW, NETLINK_AUDIT) fail the the appropriate error code that makes the audit userspace to think auditing is not available in the kernel. + - support taking a btrfs snapshot at startup and dropping it afterwards * cryptsetup: - cryptsetup-generator: allow specification of passwords in crypttab itself @@ -541,8 +522,6 @@ Features: * when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting -* support container_ttys= - * introduce mix of BindTo and Requisite * add DeleteSocketsOnStop=yes|no option to socket units @@ -680,6 +659,13 @@ Features: - improve container support, and add support for entering containers when reading - 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 proper initrd support (in particular generate .network/.link files based on /proc/cmdline) + External: * dbus: