TODO revision 042e33ae3a7feb08c8105f1345fd244315109405
b7ff1e47da4653d2ff1ec7b489e6067fed29d8c5Lennart Poettering* check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
c904f64d84db8c4eebedf210ba10893f19ba05edLennart Poettering* swap units that are activated by one name but shown in the kernel under another are semi-broken
f80781eaf9f927d7b4d5e66116e3f3a4242e6fa1Lennart Poettering* Dangling symlinks of .automount unit files in .wants/ directories, set up
f80781eaf9f927d7b4d5e66116e3f3a4242e6fa1Lennart Poettering automount points even when the original .automount file did not exist
05677bb78079c3fa0283101aac2c07581f4873f1Lennart Poettering anymore. Only the .mount unit was still around.
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* make polkit checks async
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* stop importing kernel exported env variables. The utterly broken logic in
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers the kernel exports every kernel command line option which is not recognized
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers as a built-in module option as an env variable. Systemd should not pass-on
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers that nonsense, a kernel command line option is a command line option not an
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering $ cat /proc/252/environ
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering initrd=\6a9857a393724b7a981ebb5b8495b9ea\3.10.0-2.fc20.x86_64\initrd
f7f964eb3625e4cca7f16377fa12aa7a760243e7Lennart Poettering* external: maybe it is time to patch procps so that "ps" links to
f7f964eb3625e4cca7f16377fa12aa7a760243e7Lennart Poettering libsystemd-logind to print a pretty service name, seat name, session
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers name in its output. Currently it only shows cgroup membership, but
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers that's sometimes kinda hard to parse for a human.
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers* cgroup attrs:
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers - update dbus interface docs in wiki
15e9fbd851c15ecaad4888932584f37dcd26111aLennart Poettering - localectl: support new converted x11→console keymaps
53ed2eeb2e709a6c0d152d7bdf2d9a4b9f997a16Lennart Poettering* when installing fedora with yum --installroot /var/run is a directory, not a symlink
05d02d8db0b3a7fd7634f7a0bd35ad96da469fb4Lennart PoetteringCGroup Rework Completion:
353e12c2f4a9e96a47eb80b80d2ffb7bc1d44a1bLennart Poettering* introduce "mainpid" for scopes
12ac304714996c3c3308d014b301d0d42d16c117Lennart Poettering* implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
2496985585f8d0febfc578b78d5fb098d545565bLennart Poettering* implement per-slice CPUFairScheduling=1 switch
680a1dbc354b2f437b4e06e27d4c43217977efdfLennart Poettering* handle jointly mounted controllers correctly
7e64c73a93cdcc7068280f3e3ba8adbd6c6f8f84Lennart Poettering* logind: implement session kill exceptions
7e64c73a93cdcc7068280f3e3ba8adbd6c6f8f84Lennart Poettering* make BlockIODeviceWeight=, BlockIODeviceBandwidth= runtime settable
36e43bddd0a4526e77cdae2c922bb29f67bd74adLennart Poettering* introduce high-level settings for RT budget, swappiness
b61c90514e134dc781617d172961f25e7352f53bLennart Poettering* man: document new bus apis
b61c90514e134dc781617d172961f25e7352f53bLennart Poettering* Send SIGHUP and SIGTERM in session scopes
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* Fedora: post FPC ticket to move add %tmpfiles_create to the packaging guidelines
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* add rpm macros for applying tmpfiles --create after package installation
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* when parsing calendar timestamps support the UTC timezone (even if we won't support arbitrary timezone specs, support UTC itself certainly makes sense), also support syntaxes such as +0200
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* journalctl: add an output mode that looks like classic /var/log/messages, but also outputs the cursor of the last entry so that people can write scripts that can run iteratively and always process data that has been added since the last time.
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* when a kernel driver logs in a tight loop we should ratelimit that too.
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* journald: optionally, when messages with a high log prioerity are logged, sync() immeidately.
05aa9edde0f9f4077b8120389c93cb0134eda9c5Lennart Poettering* introduce %v resolving to the string returned by "uname -r"
31ed59c51126fce7d958c188772a397e2a1ed010Lennart Poettering* systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so)
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* Get rid of systemd-sysv:
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering https://fedoraproject.org/wiki/User:Toshio/Systemd_Convert_draft
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* do we really need both hasprefix() and startswith()?
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* when a kernel driver logs in a tight loop we should ratelimit that too.
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering* journald: when we drop syslog messages because the syslog socket is
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering full, make sure to write how many messages are lost as first thing
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering to syslog when it works again.
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering* prohibit Restart= set with Type=oneshot
5ba081b0fb02380cee4c2ff5bc7e05f869eb8415Lennart Poettering* man: the documentation of Restart= currently is very misleading and suggests the tools from ExecStartPre= might get restarted.
b3fa47e0819b08ea32e69e19e6d88ce2daca069dLennart Poettering* load .d/*.conf dropins for device units
aaf53376aaac326b700fd3f8e28bbd842f0a9ed1Lennart Poettering* move systemctl set-log-level to systemd-analyze?
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering* move "systemctl dump" to systemd-analyze
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering* add a fixed dbus path for "my own unit", "my own session", ... to PID1, logind, ...
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering* service_coldplug() appears to reinstall the wrong stop timeout watch?
4cbd9ecf45f64c3a9acc99d473fbf3be3687ae24Lennart Poettering* transient units: allow creating auxiliary units with the same call
c77b7f7f82683f10e44e9ea54107d4a91feb08e3Lennart Poettering* how to reset dynamically changed attributes sanely?
25d6283acfeb87730c2c0c4c2ef76a66fa397e87Lennart Poettering* when reloading configuration, apply new cgroup configuration
62590f23c14d06e33bb1712a5e3cf04f12f189cbLennart Poettering* journald: make sure ratelimit is actually really per-service with the new cgroup changes
a6eb9147a820d1c08b315867373a21bd0ece2f05Lennart Poettering* libsystemd-logind: sd_session_is_active() and friends: verify
a6eb9147a820d1c08b315867373a21bd0ece2f05Lennart Poettering validity of session name before appending it to a path
b011116d1829bde044a638cbabfb070a7e0e8fa7Kay Sievers* gparted needs to disable auto-activation of mount units somehow, or
7d441ddb5ca090b5a97f58ac4b4d97b3e84fa81eLennart Poettering maybe we should stop doing auto-activiation of this after boot
65c0cf7108ae3537a357c74b4586a783baba82f9Lennart Poettering entirely. https://bugzilla.gnome.org/show_bug.cgi?id=701676
7ef5875d142f01ab4fe8d35412d48c10723ae2d4Lennart Poettering* when a service changes state make reflect that in the
7ef5875d142f01ab4fe8d35412d48c10723ae2d4Lennart Poettering RUNNING/LISTENING states of its socket
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* when recursively showing the cgroup hierarchy, optionally also show
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers the hierarchies of child processes
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* document logic of auto/noauto and fail/nofail in fstab in systemd.mount or systemd-fstab-generator man page
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* we should properly escape ssh hostnames we add into dbus server strings
a2f5666d06fe8233025738047115bb9e3959df3eLennart Poettering* something pulls in pcre as so dep into our daemons such as hostnamed.
ad740100d108282d0244d5739d4dcc86fe4c5fdeLennart Poettering* cgroup-agent: downgrade error messages
c821bd28c2ecce8d35248d61949fe1c0c3030b6cLennart Poettering* document systemd-journal-flush.service properly
7d441ddb5ca090b5a97f58ac4b4d97b3e84fa81eLennart Poettering* change systemd-journal-flush into a service that stays around during
de6c78f8795743894431a099d26ec562a8acf3dfLennart Poettering boot, and causes the journal to be moved back to /run on shutdown,
7d441ddb5ca090b5a97f58ac4b4d97b3e84fa81eLennart Poettering so that we don't keep /var busy. This needs to happen synchronously,
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart Poettering hence doing this via signals is not going to work.
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poettering* allow implementation of InaccessibleDirectories=/ plus
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poettering ReadOnlyDirectories=... for whitelisting files for a service.
72b9ed828bd22f3ddd74b6853c183eebf006d6d8Lennart Poettering* libsystemd-bus:
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering - default policy (allow uid == 0 and our own uid)
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering - enforce alignment of pointers passed in
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering - when kdbus doesn't take our message without memfds, try again with memfds
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering - implement translator service
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering - port systemd to new library
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering - implement busname unit type in systemd
0a55b298d930543c8065bb9e708dd112562b1736Lennart Poettering - move to gvariant
97f73ffb04947acf0a5854e3a7bdbb7a0105f6faLennart Poettering - merge busctl into systemctl or so?
97f73ffb04947acf0a5854e3a7bdbb7a0105f6faLennart Poettering - synthesize sd_bus_message objects from kernel messages
85f248b26653f5322c26735661d63d4e8460c30eLennart Poettering - properly implement name registry ioctls for kdbus
85f248b26653f5322c26735661d63d4e8460c30eLennart Poettering - get rid of object hash table, use decision tree everyhwere instead?
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering - implement monitor logic
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering - object vtable logic
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering - longer term:
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart Poettering * priority queues
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart Poettering * priority inheritance
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering* in the final killing spree, detect processes from the root directory, and
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering complain loudly if they have argv[0][0] == '@' set.
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=961044
253ee27a0c7a410d27d490bb79ea97caed6a2b68Lennart Poettering* add an option to nspawn that uses seccomp to make socket(AF_NETLINK,
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering SOCK_RAW, NETLINK_AUDIT) fail the the appropriate error code that
8d0e38a2b966799af884e78a54fd6a2dffa44788Lennart Poettering makes the audit userspace to think auditing is not available in the
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering* Introduce a way how we can kill the main process of a service with KillSignal, but all processes with SIGKILL later on
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=952634
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart Poettering* maybe add a warning to the unit file parses whern the acces mode of unit files is non-sensical.
916abb21d0a6653e0187b91591e492026886b0a4Lennart Poettering* investigate endianess issues of UUID vs. GUID
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
916abb21d0a6653e0187b91591e492026886b0a4Lennart Poettering should be able to safely try another attempt when the bus call LoadUnit() is invoked.
b23de6af893c11da4286bc416455cd0926d1532eLennart Poettering* if pam_systemd is invoked by su from a process that is outside of a
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering any session we should probably just become a NOP, since that's
adf70c5e4e6673353b8d702baee4e1d21eb05dfeKay Sievers usually not a real user session but just some system code that just
21bdae12e11ae20460715475d8a0c991f15464acLennart Poettering needs setuid().
9534ce54858c67363b841cdbdc315140437bfdb4Lennart Poettering* add a pam module that passes the hdd passphrase into the PAM stack and then expires it, for usage by gdm auto-login.
c798c40ec957a35cd4b7d04a196a9e58880c6ff3Lennart Poettering* add a pam module that on password changes updates any LUKS slot where the password matches
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart Poettering* maybe add a generator that looks for "systemd.run=" on the kernel cmdline for container usercases...
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart Poettering* timedatctl, localectl: possibly make some commands work without the daemon, for chroot situations...
253ee27a0c7a410d27d490bb79ea97caed6a2b68Lennart Poettering* logind: add Suspend() bus calls which take timestamps to fix double suspend issues when somebody hits suspend and closes laptop quickly.
5d0fcd7c8d29340ac9425c309e8ac436a9af699cLennart Poettering* we need dynamic units
73090dc815390f4fca4e3ed8a7e1d3806605daaaLennart Poettering* cgtop: make cgtop useful in a container
b9a2a36b519ccd79c4198e7dda4e657d597a14adLennart Poettering - add 'set -e' to scripts in test/
b9a2a36b519ccd79c4198e7dda4e657d597a14adLennart Poettering - make stuff in test/ work with separate output dir
ba1a55152c50dfbcd3d4a64353b95f4a2f37985eLennart Poettering - remove all the duplicated code in test/
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* suppress log output on shutdown when "quiet" is used
f9276855a1d270b6c3f857cdaf2c4b49920c2228Lennart Poettering* systemctl delete x.snapshot leaves no trace in logs (at least at default level).
260abb780a135e4cae8c10715c7e85675efc345aLennart Poettering* make the coredump collector tool move itself into the user's cgroup
260abb780a135e4cae8c10715c7e85675efc345aLennart Poettering so that the coredump is properly written to the user's own journal
a8f11321c209830a35edd0357e8def5d4437d854Lennart Poettering* seems that when we follow symlinks to units we prefer the symlink
a8f11321c209830a35edd0357e8def5d4437d854Lennart Poettering destination path over /etc and /usr. We shouldn't do that. Instead
21bdae12e11ae20460715475d8a0c991f15464acLennart Poettering /etc should always override /run+/usr and also any symlink