X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=TODO;h=4fdecebd0fa4fbb77e78d2cc4b37242f69721fd6;hp=386599bc10cf8435b6659a5db7ac4f66b0c60413;hb=bceb7d6de7ddef3c2f3528eb76717cf6a2690cd6;hpb=1cfc78c91965df340cdde100ad6cb3ed50b28927 diff --git a/TODO b/TODO index 386599bc1..4fdecebd0 100644 --- a/TODO +++ b/TODO @@ -6,7 +6,7 @@ Bugfixes: automount points even when the original .automount file did not exist anymore. Only the .mount unit was still around. -* ExecStart with unicode characters fails in strv_split_quoted: +* ExecStart with unicode characters fails in strv_split_extract: [Service] Environment=ONE='one' "TWO='two two' too" THREE= @@ -26,6 +26,16 @@ External: Features: +* sd-event: maybe add support for inotify events + +* PID 1 should send out sd_notify("WATCHDOG=1") messages (for usage in the --user mode, and when run via nspawn) + +* nspawn should send out sd_notify("WATCHDOG=1") messages + +* nspawn should optionally support receiving WATCHDOG=1 messages from its payload PID 1... + +* consider throwing a warning if a service declares it wants to be "Before=" a .device unit. + * "systemctl edit" should know a mode to create a new unit file * there's probably something wrong with having user mounts below /sys, @@ -49,18 +59,10 @@ Features: * install: include generator dirs in unit file search paths -* networkd: add support for configuring ipv6 privacy extensions - -* introduce an NSS module that uses machined info to give container UIDs pretty names when user namespacing is used. - * stop using off_t, it's a crazy type. Use uint64_t instead. * logind: follow PropertiesChanged state more closely, to deal with quick logouts and relogins -* change to KillMode=mixed by default - -* introduce argv0contains= - * invent a better systemd-run scheme for naming scopes, that works with remoting * add journalctl -H that talks via ssh to a remote peer and passes through binary logs data @@ -71,8 +73,6 @@ Features: * log accumulated resource usage after each service invocation -* networkd: dhcp server: try to assign stable IP addresses based on client's MAC address - * nspawn: a nice way to boot up without machine id set, so that it is set at boot automatically for supporting --ephemeral. Maybe hash the host machine id together with the machine name to generate the machine id for the container * logind: rename session scope so that it includes the UID. THat way @@ -98,8 +98,6 @@ Features: * nspawn: as soon as networkd has a bus interface, hook up --network-interface=, --network-bridge= with networkd, to trigger netdev creation should an interface be missing -* networkd: make DHCP server IP range configurable, including only with a single IP address - * rework C11 utf8.[ch] to use char32_t instead of uint32_t when referring to unicode chars, to make things more expressive. @@ -205,8 +203,6 @@ Features: * "machinectl list-images" should show os-release data, as well as machine-info data (including deployment level) -* nspawn: when start a container "foobar" look for its configuration in a file "foobar.nspawn" in /etc/systemd/nspawn/ as well as next to the actualy directory or image to boot - * Port various tools to make use of verbs.[ch], where applicable * "machinectl history" @@ -252,8 +248,6 @@ Features: * figure out when we can use the coarse timers -* sd-resolve: drop res_query wrapping, people should call via the bus to resolved instead - * add "systemctl start -v foobar.service" that shows logs of a service while the start command runs. This is non-trivial to do without races though, since we should flush out all journal messages before @@ -269,7 +263,7 @@ Features: * maybe add support for specifier expansion in user.conf, specifically DefaultEnvironment= -* code cleanup: retire FOREACH_WORD_QUOTED, port to unquote_first_word() loops instead +* code cleanup: retire FOREACH_WORD_QUOTED, port to extract_first_word() loops instead * introduce systemd-timesync-wait.service or so to sync on an NTP fix? @@ -305,7 +299,7 @@ Features: * exponential backoff in timesyncd and resolved when we cannot reach a server -* unquote_many_words() should probably be used by a lot of code that +* extract_many_words() should probably be used by a lot of code that currently uses FOREACH_WORD and friends. For example, most conf parsing callbacks should use it. @@ -321,40 +315,35 @@ Features: - add LLDP client side support - the DHCP lease data (such as NTP/DNS) is still made available when a carrier is lost on a link. It should be removed instantly. - - .network setting that allows overriding of the hostname to send to the dhcp server - http://lists.freedesktop.org/archives/systemd-devel/2014-July/021550.html - expose in the API the following bits: - option 15, domain name and/or option 119, search list - option 12, host name and/or option 81, fqdn - - option 100, 101, timezone - option 123, 144, geolocation - option 252, configure http proxy (PAC/wpad) - - networkd's dhcp server should transparently pass on the DNS and - NTP server list it got from user configuration and its dhcp client - to clients. It should also pass on its own timezone information. - provide a way to define a per-network interface default metric value for all routes to it. possibly a second default for DHCP routes. - allow Name= to be specified repeatedly in the [Match] section. Maybe also support Name=foo*|bar*|baz ? - duplicate address check for static IPs (like ARPCHECK in network-scripts) + - allow DUID/IAID to be customized, see issue #394. + - support configuration option for TSO (tcp segmentation offload) + - networkd: whenever uplink info changes, make DHCP server send out FORCERENEW * resolved: - put networkd events and rtnl events at a higher priority, so that we always process them before we process client requests - DNSSEC - - use base64 for key presentation? - add display of private key types (http://tools.ietf.org/html/rfc4034#appendix-A.1.1)? - - add nice formatting of DNS timestamps - DNS - search paths - mDNS/DNS-SD - avahi compat - DNS-SD service registration from socket units - edns0 - - dname + - dname: Not necessary for plain DNS as synthesized cname is handed out instead if we do not + announce dname support. However, for DNSSEC it is necessary as the synthesized cname + will not be signed. - cname on PTR (?) - - maybe randomize DNS UDP source ports - - maybe compare query section of DNS replies * Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely @@ -469,6 +458,7 @@ Features: ReadOnlyDirectories=... for whitelisting files for a service. * sd-bus: + - EBADSLT handling - GetAllProperties() on a non-existing object does not result in a failure currently - kdbus: process fd=-1 for incoming msgs - port to sd-resolve for connecting to TCP dbus servers @@ -699,10 +689,6 @@ Features: * If we show an error about a unit (such as not showing up) and it has no Description string, then show a description string generated form the reverse of unit_name_mangle(). -* fedup: add --unit to systemctl switch-root somehow -* fedup: do not delete initrd on switch-root -* fedup: generator - * clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed * on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel @@ -894,7 +880,6 @@ Features: * dhcp: - figure out how much we can increase Maximum Message Size - - export timezone information - support RFC4702 (pass FQDN) * dhcp6: