TODO revision 7c75c5ca68970d2d47f211f068883e9b8c3ff5e7
c904f64d84db8c4eebedf210ba10893f19ba05edLennart Poettering* Should systemctl status \* work on all unit types, not just .service?
05677bb78079c3fa0283101aac2c07581f4873f1Lennart Poettering* Dangling symlinks of .automount unit files in .wants/ directories, set up
73090dc815390f4fca4e3ed8a7e1d3806605daaaLennart Poettering automount points even when the original .automount file did not exist
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering anymore. Only the .mount unit was still around.
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* ExecStart with unicode characters fails in strv_split_quoted:
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers Environment=ONE='one' "TWO='two two' too" THREE=
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering ExecStart=/bin/python3 -c 'import sys;print(sys.argv)' $ONE $TWO $THREE
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering* MEMORY return code is overloaded for syntax errors in the command line.
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering str_split_quoted() should return a real return code, so spawn_child can
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering report the failure properly.
3cc588803dba3530cd39000d299353a31e4c068bLennart Poettering* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
18b754d345ecb0b15e369978aaffa72e9814b86aKay Sievers* Fedora: move kernel image to /usr/lib/modules/, kernel-install will take care of populating /boot
b070e7f3c9ed680c821bd89d42506695f2438506Lennart Poettering* Fedora: remove /etc/resolv.conf tmpfiles hack
1fa80181aecd4b9db513f16c136157a4546686d3Lennart Poettering* wiki: update journal format documentation for lz4 additions
231931ffba1bca9d8759bbd6f797e56f8c6971faLennart Poettering* When lz4 gets an API for lz4 command output, make use of it to
231931ffba1bca9d8759bbd6f797e56f8c6971faLennart Poettering compress coredumps in a way compatible with /usr/bin/lz4.
169c4f65131fbc7bcb51e7d5487a715cdcd0e0ebLennart Poettering* support mbr raw disk images in systemd-nspawn, so that we can boot fedora cloud images unmodified
169c4f65131fbc7bcb51e7d5487a715cdcd0e0ebLennart Poettering* add fd store to pid 1 serialization
6ba383fa49e01302dfeae1f5083bb942b055628bLennart Poettering* rework sigbus stuff to use mutex
bd08f2422491169e92dc0899d5ba848fcae4c15cLennart Poettering* create importd daemon, move "systemd-import" tool into machinectl
bd08f2422491169e92dc0899d5ba848fcae4c15cLennart Poettering* change default container location from /var/lib/container to /var/lib/machines
d3c7d7dd77b2b72315164b672462825cef6c0f9aKay Sievers* 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
fb0864e7b9c6d26269ccea6ec5c0fd921c029781Lennart Poettering* Port various tools to make use of verbs.[ch], where applicable
fb0864e7b9c6d26269ccea6ec5c0fd921c029781Lennart Poettering* Check all invocations of access() and consider turning them into laccess()
fb0864e7b9c6d26269ccea6ec5c0fd921c029781Lennart Poettering* "machinectl history"
fb0864e7b9c6d26269ccea6ec5c0fd921c029781Lennart Poettering* "machinectl diff"
18da49531e4c6b31bd2439b4d738dc1bb9660af1Lennart Poettering* "machinectl commit" that takes a writable snapshot of a tree, invokes a shell in it, and marks it read-only after use
8af0fcdb909b87ef4dcef34d50df814656acec81Lennart Poettering* "machinectl status" should show 10 most recent log lines of both the host logs of the unit of the machine, plus the logs generated in the machine
9586cdfab6a2638078702b7fea7e16b3a71899e2Lennart Poettering* add transparent btrfs pool in a loopback file in /var if btrfs operations (such as systemd-import pull-dkr) are used and /var is not a btrfs file system
9586cdfab6a2638078702b7fea7e16b3a71899e2Lennart Poettering* systemd-nspawn -x should support ephemeral instances of gpt images
9586cdfab6a2638078702b7fea7e16b3a71899e2Lennart Poettering* hostnamectl: show root image uuid
6b80b9b8ee6d372e00ece51e6a11c6d31899aaecLennart Poettering* sysfs set api in libudev is not const
7f110ff9b8828b477e87de7b28c708cf69a3d008Lennart Poettering* Find a solution for SMACK capabilities stuff:
7f110ff9b8828b477e87de7b28c708cf69a3d008Lennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2014-December/026188.html
7f110ff9b8828b477e87de7b28c708cf69a3d008Lennart Poettering* port libmount hookup to use API's own inotify interface, as soon as that is table in libmount
8d2831af71debde5dc20bfa84a68a7190eab8542Lennart Poettering* "systemctl preset-all" should probably order the unit files it
7d900eb6f58ca76a0f742c6e1823aa7317d4471fLennart Poettering operates on lexicographically before starting to work, in order to
7d900eb6f58ca76a0f742c6e1823aa7317d4471fLennart Poettering ensure deterministic behaviour if two unit files conflict (like DMs
7d900eb6f58ca76a0f742c6e1823aa7317d4471fLennart Poettering do, for example)
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering* resolved should optionally register additional per-interface LLMNR
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering names, so that for the container case we can establish the same name
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering (maybe "host") for referencing the server, everywhere.
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering* systemd-journal-upload (or a new, related tool): allow pushing out
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering journal messages onto the network in BSD syslog protocol,
f7f964eb3625e4cca7f16377fa12aa7a760243e7Lennart Poettering continuously. Default to some link-local IP mcast group, to make this
f7f964eb3625e4cca7f16377fa12aa7a760243e7Lennart Poettering useful as a one-stop debugging tool.
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering* synchronize console access with BSD locks:
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2014-October/024582.html
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering* as soon as we have kdbus, and sender timestamps, revisit coalescing multiple parallel daemon reloads:
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2014-December/025862.html
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering* set $REMOTE_IP (or $REMOTE_ADDR/$REMOTE_PORT) environment variable when doing per-connection socket activation. use format introduced by xinetd or CGI for this
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers* the install state probably shouldn't get confused by generated units, think dbus1/kdbus compat!
15e9fbd851c15ecaad4888932584f37dcd26111aLennart Poettering* in systemctl list-unit-files: show the install value the presets would suggest for a service in a third column
53ed2eeb2e709a6c0d152d7bdf2d9a4b9f997a16Lennart Poettering* we should try harder to collapse start jobs for swaps that end up being the same:
53ed2eeb2e709a6c0d152d7bdf2d9a4b9f997a16Lennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2014-November/025359.html
353e12c2f4a9e96a47eb80b80d2ffb7bc1d44a1bLennart Poettering* timedated should compensate on SetTime for the time spent in polkit
680a1dbc354b2f437b4e06e27d4c43217977efdfLennart Poettering* figure out when we can use the coarse timers
7e64c73a93cdcc7068280f3e3ba8adbd6c6f8f84Lennart Poettering* sd-resolve: drop res_query wrapping, people should call via the bus to resolved instead
7e64c73a93cdcc7068280f3e3ba8adbd6c6f8f84Lennart Poettering* add "systemctl start -v foobar.service" that shows logs of a service
36e43bddd0a4526e77cdae2c922bb29f67bd74adLennart Poettering while the start command runs. This is non-trivial to do without
36e43bddd0a4526e77cdae2c922bb29f67bd74adLennart Poettering races though, since we should flush out all journal messages before
b61c90514e134dc781617d172961f25e7352f53bLennart Poettering returning from the "systemctl stop".
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* firstboot: make it useful to be run immediately after yum --installroot to set up a machine. (most specifically, make --copy-root-password work even if /etc/passwd already exists
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* timesyncd + resolved: add ugly bus calls to set NTP and DNS servers per-interface, for usage by NM
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* networkd-wait-online really should have a timeout by default
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* add infrastructure to allocate dynamic/transient users and UID ranges, for use in user-namespaced containers, per-seat gdm login screens and gdm guest sessions
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* machined: add an API so that libvirt-lxc can inform us about network interfaces being removed or added to an existing machine
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* maybe add support for specifier expansion in user.conf, specifically DefaultEnvironment=
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* code cleanup: retire FOREACH_WORD_QUOTED, port to unquote_first_word() loops instead
05aa9edde0f9f4077b8120389c93cb0134eda9c5Lennart Poettering* introduce systemd-timesync-wait.service or so to sync on an NTP fix?
31ed59c51126fce7d958c188772a397e2a1ed010Lennart Poettering* systemd --user should issue sd_notify() upon reaching basic.target, not on becoming idle
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* consider showing the unit names during boot up in the status output, not just the unit descriptions
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* dhcp: do we allow configuring dhcp routes on interfaces that are not the one we got the dhcp info from?
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* maybe allow timer units with an empty Units= setting, so that they
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering can be used for resuming the system but nothing else.
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* what to do about udev db binary stability for apps? (raw access is not an option)
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering* maybe provide an API to allow migration of foreign PIDs into existing scopes.
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering* maybe support a new very "soft" reboot mode, that simply kills all processes, disassembles everything, flushes /run and sysvipc, and then reexecs systemd again
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering* man: document that corrupted journal files is nothing to act on
5ba081b0fb02380cee4c2ff5bc7e05f869eb8415Lennart Poettering* man: maybe use the word "inspect" rather than "introspect"?
b3fa47e0819b08ea32e69e19e6d88ce2daca069dLennart Poettering* "machinectl list" should probably show columns for OS version and IP addresses
aaf53376aaac326b700fd3f8e28bbd842f0a9ed1Lennart Poettering* systemctl: if some operation fails, show log output?
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering* systemctl edit:
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering- allow creation of units from scratch
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering- use equvalent of cat() to insert existing config as a comment, prepended with #.
4cbd9ecf45f64c3a9acc99d473fbf3be3687ae24Lennart Poettering Upon editor exit, lines with one # are removed, lines with two # are left with one #, etc.
c77b7f7f82683f10e44e9ea54107d4a91feb08e3Lennart Poettering* refcounting in sd-resolve is borked
25d6283acfeb87730c2c0c4c2ef76a66fa397e87Lennart Poettering* exponential backoff in timesyncd and resolved when we cannot reach a server
0d1575814b753452207010a503a5cc0ba959b8dcLennart Poettering* tmpfiles: port to unquote_many_words(), similar to sysusers
a6eb9147a820d1c08b315867373a21bd0ece2f05Lennart Poettering* unquote_many_words() should probably be used by a lot of code that
a6eb9147a820d1c08b315867373a21bd0ece2f05Lennart Poettering currently uses FOREACH_WORD and friends. For example, most conf
b011116d1829bde044a638cbabfb070a7e0e8fa7Kay Sievers parsing callbacks should use it.
7d441ddb5ca090b5a97f58ac4b4d97b3e84fa81eLennart Poettering* merge ~/.local/share and ~/.local/lib into one similar /usr/lib and /usr/share....
65c0cf7108ae3537a357c74b4586a783baba82f9Lennart Poettering* systemd.show_status= should probably have a mode where only failed
7ef5875d142f01ab4fe8d35412d48c10723ae2d4Lennart Poettering units are shown.
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers - add LLDP client side support
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers - the DHCP lease data (such as NTP/DNS) is still made available when
a2f5666d06fe8233025738047115bb9e3959df3eLennart Poettering a carrier is lost on a link. It should be removed instantly.
a2f5666d06fe8233025738047115bb9e3959df3eLennart Poettering - .network setting that allows overriding of the hostname to send to the dhcp server
ad740100d108282d0244d5739d4dcc86fe4c5fdeLennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2014-July/021550.html
ad740100d108282d0244d5739d4dcc86fe4c5fdeLennart Poettering - expose in the API the following bits:
c821bd28c2ecce8d35248d61949fe1c0c3030b6cLennart Poettering - option 15, domain name and/or option 119, search list
c821bd28c2ecce8d35248d61949fe1c0c3030b6cLennart Poettering - option 12, host name and/or option 81, fqdn
de6c78f8795743894431a099d26ec562a8acf3dfLennart Poettering - option 100, 101, timezone
7d441ddb5ca090b5a97f58ac4b4d97b3e84fa81eLennart Poettering - option 123, 144, geolocation
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart Poettering - option 252, configure http proxy (PAC/wpad)
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart Poettering - networkd's dhcp server should transparently pass on the DNS and
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poettering NTP server list it got from user configuration and its dhcp client
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poettering to clients. It should also pass on its own timezone information.
d3c7d7dd77b2b72315164b672462825cef6c0f9aKay Sievers - provide a way to define a per-network interface default metric value
72b9ed828bd22f3ddd74b6853c183eebf006d6d8Lennart Poettering for all routes to it. possibly a second default for DHCP routes.
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering - allow Name= to be specified repeatedly in the [Match] section. Maybe also
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering support Name=foo*|bar*|baz ?
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering - put networkd events and rtnl events at a higher priority, so that
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering we always process them before we process client requests
97f73ffb04947acf0a5854e3a7bdbb7a0105f6faLennart Poettering - use base64 for key presentation?
97f73ffb04947acf0a5854e3a7bdbb7a0105f6faLennart Poettering - add display of private key types (http://tools.ietf.org/html/rfc4034#appendix-A.1.1)?
85f248b26653f5322c26735661d63d4e8460c30eLennart Poettering - add nice formatting of DNS timestamps
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering - search paths
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering - avahi compat
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart Poettering - DNS-SD service registration from socket units
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering - cname on PTR (?)
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering - maybe randomize DNS UDP source ports
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering - maybe compare query section of DNS replies
253ee27a0c7a410d27d490bb79ea97caed6a2b68Lennart Poettering* Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely
8d0e38a2b966799af884e78a54fd6a2dffa44788Lennart Poettering* Add a new verb "systemctl top"
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering* add new gpt type for btrfs volumes
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering* support empty /etc boots nicely:
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart Poettering - nspawn/gpt-generator: introduce new gpt partition type for /usr
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart Poettering - fstab-generator: support systemd.volatile=yes|no|state on the kernel cmdline, too, similar to nspawn's --volatile=
916abb21d0a6653e0187b91591e492026886b0a4Lennart Poettering* generator that automatically discovers btrfs subvolumes, identifies their purpose based on some xattr on them.
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* timer units: actually add extra delays to timer units with high AccuracySec values, don't start them already when we are awake...
b23de6af893c11da4286bc416455cd0926d1532eLennart Poettering* a way for container managers to turn off getty starting via $container_headless= or so...
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* figure out a nice way how we can let the admin know what child/sibling unit causes cgroup membership for a specific unit
21bdae12e11ae20460715475d8a0c991f15464acLennart Poettering* mount_cgroup_controllers(): symlinks need to get the label applied
9534ce54858c67363b841cdbdc315140437bfdb4Lennart Poettering* For timer units: add some mechanisms so that timer units that trigger immediately on boot do not have the services
9534ce54858c67363b841cdbdc315140437bfdb4Lennart Poettering they run added to the initial transaction and thus confuse Type=idle.
c798c40ec957a35cd4b7d04a196a9e58880c6ff3Lennart Poettering* Run most system services with cgroupfs read-only and procfs with a more secure mode (doesn't work, since the hidepid= option is per-pid-namespace, not per-mount)
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart Poettering* sd-event: generate a failure of a default event loop is executed out-of-thread
7a2a0b907b5cc60f5d9a871997d7d6e7f62bf4d8Lennart Poettering* add bus api to query unit file's X fields.
5d0fcd7c8d29340ac9425c309e8ac436a9af699cLennart Poettering* consider adding RuntimeDirectoryUser= + RuntimeDirectoryGroup=
acb14d318b84bda00d1e666d7dab6794d5bbeb3fLennart Poettering* sd-event: define more intervals where we will shift wakeup intervals around in, 1h, 6h, 24h, ...
44143309dd0b37d61d7d842ca58f01a65646ec71Kay Sievers* gpt-auto-generator:
3d57c6ab801f4437f12948e29589e3d00c3ad9dbLennart Poettering - Support LUKS for root devices
b9a2a36b519ccd79c4198e7dda4e657d597a14adLennart Poettering - Define new partition type for encrypted swap? Support probed LUKS for encrypted swap?
b9a2a36b519ccd79c4198e7dda4e657d597a14adLennart Poettering - Make /home automount rather than mount?
9408a2d295a312a5472345090e28e0502570494bLennart Poettering* add generator that pulls in systemd-network from containers when
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering CAP_NET_ADMIN is set, more than the loopback device is defined, even
3f7a8c4e9f1d3ce48919e24eb2c9d56dd6fd88d8Kay Sievers when it is otherwise off
f9276855a1d270b6c3f857cdaf2c4b49920c2228Lennart Poettering* MessageQueueMessageSize= and RLimitFSIZE= (and suchlike) should use parse_iec_size().
260abb780a135e4cae8c10715c7e85675efc345aLennart Poettering* "busctl status" works only as root on dbus1, since we cannot read
a8f11321c209830a35edd0357e8def5d4437d854Lennart Poettering* implement Distribute= in socket units to allow running multiple
a8f11321c209830a35edd0357e8def5d4437d854Lennart Poettering service instances processing the listening socket, and open this up
21bdae12e11ae20460715475d8a0c991f15464acLennart Poettering for ReusePort=