TODO revision 9444b1f20e311f073864d81e913bd4f32fe95cfd
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* external: maybe it is time to patch procps so that "ps" links to
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers libsystemd-logind to print a pretty service name, seat name, session
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering name in its output. Currently it only shows cgroup membership, but
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering that's sometimes kinda hard to parse for a human.
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering* cgroup attrs:
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering - update dbus interface docs in wiki
7d900eb6f58ca76a0f742c6e1823aa7317d4471fLennart Poettering - localectl: support new converted x11→console keymaps
7d900eb6f58ca76a0f742c6e1823aa7317d4471fLennart Poettering* when installing fedora with yum --installroot /var/run is a directory, not a symlink
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering* move systemctl dump to systemd-analyze
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering* libsystemd-logind: sd_session_is_active() and friends: verify
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering validity of session name before appending it to a path
f7f964eb3625e4cca7f16377fa12aa7a760243e7Lennart Poettering* logind: when a PAM client calls ReleaseSession() start a timeout and
f7f964eb3625e4cca7f16377fa12aa7a760243e7Lennart Poettering kill the session entirely after that is reached.
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering* gparted needs to disable auto-activation of mount units somehow, or
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering maybe we should stop doing auto-activiation of this after boot
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering entirely. https://bugzilla.gnome.org/show_bug.cgi?id=701676
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering* when a service changes state make reflect that in the
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering RUNNING/LISTENING states of its socket
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering - add option to pam_systemd to move login session into a slice
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers - remove ControlGroup= setting
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers - in sd_pid_get_owner_uid() fallback to query session file
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers - add api to determine slice of unit
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers* when recursively showing the cgroup hierarchy, optionally also show
05aa9edde0f9f4077b8120389c93cb0134eda9c5Lennart Poettering the hierarchies of child processes
15e9fbd851c15ecaad4888932584f37dcd26111aLennart Poettering* document logic of auto/noauto and fail/nofail in fstab in systemd.mount or systemd-fstab-generator man page
53ed2eeb2e709a6c0d152d7bdf2d9a4b9f997a16Lennart Poettering* we should properly escape ssh hostnames we add into dbus server strings
05d02d8db0b3a7fd7634f7a0bd35ad96da469fb4Lennart Poettering* something pulls in pcre as so dep into our daemons such as hostnamed.
353e12c2f4a9e96a47eb80b80d2ffb7bc1d44a1bLennart Poettering* cgroup-agent: downgrade error messages
12ac304714996c3c3308d014b301d0d42d16c117Lennart Poettering* document systemd-journal-flush.service properly
2496985585f8d0febfc578b78d5fb098d545565bLennart Poettering* chane systemd-journal-flush into a service that stays around during
680a1dbc354b2f437b4e06e27d4c43217977efdfLennart Poettering boot, and causes the journal to be moved back to /run on shutdown,
680a1dbc354b2f437b4e06e27d4c43217977efdfLennart Poettering so that we don't keep /var busy. This needs to happen synchronously,
7e64c73a93cdcc7068280f3e3ba8adbd6c6f8f84Lennart Poettering hence doing this via signals is not going to work.
c4aa65e7147dc742886edf25593e10466b02fc3aLennart Poettering* allow implementation of InaccessibleDirectories=/ plus
7e64c73a93cdcc7068280f3e3ba8adbd6c6f8f84Lennart Poettering ReadOnlyDirectories=... for whitelisting files for a service.
36e43bddd0a4526e77cdae2c922bb29f67bd74adLennart Poettering* libsystemd-journal:
acb14d318b84bda00d1e666d7dab6794d5bbeb3fLennart Poettering - return ECHILD as soon as somebody tries to reuse a journal object across a fork()
b61c90514e134dc781617d172961f25e7352f53bLennart Poettering* libsystemd-bus:
b61c90514e134dc781617d172961f25e7352f53bLennart Poettering - default policy (allow uid == 0 and our own uid)
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - enforce alignment of pointers passed in
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - when kdbus doesn't take our message without memfds, try again with memfds
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - implement translator service
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - port systemd to new library
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - implement busname unit type in systemd
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - move to gvariant
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - merge busctl into systemctl or so?
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - synthesize sd_bus_message objects from kernel messages
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - properly implement name registry ioctls for kdbus
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - get rid of object hash table, use decision tree everyhwere instead?
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - implement monitor logic
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - object vtable logic
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering - longer term:
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering * priority queues
05aa9edde0f9f4077b8120389c93cb0134eda9c5Lennart Poettering * priority inheritance
31ed59c51126fce7d958c188772a397e2a1ed010Lennart Poettering* in the final killing spree, detect processes from the root directory, and
31ed59c51126fce7d958c188772a397e2a1ed010Lennart Poettering complain loudly if they have argv[0][0] == '@' set.
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=961044
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* add an option to nspawn that uses seccomp to make socket(AF_NETLINK,
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering SOCK_RAW, NETLINK_AUDIT) fail the the appropriate error code that
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering makes the audit userspace to think auditing is not available in the
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* Introduce a way how we can kill the main process of a service with KillSignal, but all processes with SIGKILL later on
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=952634
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering* maybe add a warning to the unit file parses whern the acces mode of unit files is non-sensical.
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering* investigate endianess issues of UUID vs. GUID
5ba081b0fb02380cee4c2ff5bc7e05f869eb8415Lennart Poettering* dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
5ba081b0fb02380cee4c2ff5bc7e05f869eb8415Lennart Poettering should be able to safely try another attempt when the bus call LoadUnit() is invoked.
b3fa47e0819b08ea32e69e19e6d88ce2daca069dLennart Poettering* if pam_systemd is invoked by su from a process that is outside of a
aaf53376aaac326b700fd3f8e28bbd842f0a9ed1Lennart Poettering any session we should probably just become a NOP, since that's
aaf53376aaac326b700fd3f8e28bbd842f0a9ed1Lennart Poettering usually not a real user session but just some system code that just
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering needs setuid().
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering* add a pam module that passes the hdd passphrase into the PAM stack and then expires it, for usage by gdm auto-login.
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering* add a pam module that on password changes updates any LUKS slot where the password matches
4cbd9ecf45f64c3a9acc99d473fbf3be3687ae24Lennart Poettering* maybe add a generator that looks for "systemd.run=" on the kernel cmdline for container usercases...
c77b7f7f82683f10e44e9ea54107d4a91feb08e3Lennart Poettering* timedatctl, localectl: possibly make some commands work without the daemon, for chroot situations...
25d6283acfeb87730c2c0c4c2ef76a66fa397e87Lennart Poettering* logind: add Suspend() bus calls which take timestamps to fix double suspend issues when somebody hits suspend and closes laptop quickly.
62590f23c14d06e33bb1712a5e3cf04f12f189cbLennart Poettering* we need dynamic units
a6eb9147a820d1c08b315867373a21bd0ece2f05Lennart Poettering* cgtop: make cgtop useful in a container
b011116d1829bde044a638cbabfb070a7e0e8fa7Kay Sievers - add 'set -e' to scripts in test/
7d441ddb5ca090b5a97f58ac4b4d97b3e84fa81eLennart Poettering - make stuff in test/ work with separate output dir
65c0cf7108ae3537a357c74b4586a783baba82f9Lennart Poettering - remove all the duplicated code in test/
7ef5875d142f01ab4fe8d35412d48c10723ae2d4Lennart Poettering* suppress log output on shutdown when "quiet" is used
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* systemctl delete x.snapshot leaves no trace in logs (at least at default level).
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* make the coredump collector tool move itself into the user's cgroup
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers so that the coredump is properly written to the user's own journal
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* move /usr/lib/modules/$(uname -r)/modules.devname parsing from udevd to
a2f5666d06fe8233025738047115bb9e3959df3eLennart Poettering kmod static-nodes
a2f5666d06fe8233025738047115bb9e3959df3eLennart Poettering call kmod as an early service, and drop CAP_MKNOD from udevd.service
ad740100d108282d0244d5739d4dcc86fe4c5fdeLennart Poettering* seems that when we follow symlinks to units we prefer the symlink
c821bd28c2ecce8d35248d61949fe1c0c3030b6cLennart Poettering destination path over /etc and /usr. We shouldn't do that. Instead
c821bd28c2ecce8d35248d61949fe1c0c3030b6cLennart Poettering /etc should always override /run+/usr and also any symlink
de6c78f8795743894431a099d26ec562a8acf3dfLennart Poettering* remove duplicate default deps logic from fstab-generator vs. mount.c
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart Poettering* when isolating, try to figure out a way how we implicitly can order
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart Poettering all units we stop before the isolating unit...
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poettering* teach udev + logind's uaccess to somehow handle the "dead" device nodes from:
72b9ed828bd22f3ddd74b6853c183eebf006d6d8Lennart Poettering and apply ACLs to them if they have TAG=="uaccess" in udev rules.
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering* add ConditionArchitecture= or so
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* we should log capabilities too
97f73ffb04947acf0a5854e3a7bdbb7a0105f6faLennart Poettering* Support SO_REUSEPORT with socket activation:
97f73ffb04947acf0a5854e3a7bdbb7a0105f6faLennart Poettering - Let systemd maintain a pool of servers.
85f248b26653f5322c26735661d63d4e8460c30eLennart Poettering - Use for seamless upgrades, by running the new server before stopping the
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering* after all byte-wise realloc() is slow, even on glibc, so i guess we
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering need manual exponential loops after all
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart Poettering* BootLoaderSpec: drop allowing ext234 for $BOOT. Clarify that the
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering kernel has to be in $BOOT. Clarify that the boot loader should be
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering installed to the ESP. Define a way how an installer can figure out
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering whether a BLS compliant boot loader is installed.
7c697168102cb64c5cb65a542959684014da99c7Lennart Poettering* man: remove .include documentation, and instead push people to use .d/*.conf
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* think about requeuing jobs when daemon-reload is issued? usecase:
8d0e38a2b966799af884e78a54fd6a2dffa44788Lennart Poettering the initrd issues a reload after fstab from the host is accessible
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering and we might want to requeue the mounts local-fs acquired through
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering that automatically.
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering* rework specifier logic so that we can distuingish OOM errors from other errors
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart Poettering* systemd-inhibit: make taking delay locks useful: support sending SIGINT or SIGTERM on PrepareForSleep()
916abb21d0a6653e0187b91591e492026886b0a4Lennart Poettering* journal-or-kmsg is currently broken? See reverted commit 4a01181e460686d8b4a543b1dfa7f77c9e3c5ab8.
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* remove any syslog support from log.c -- we probably can't do this before split-off udev is gone for good
b23de6af893c11da4286bc416455cd0926d1532eLennart Poettering* documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* add a tool that lists active timer units plus their next elapstion and the time the units ran last
21bdae12e11ae20460715475d8a0c991f15464acLennart Poettering* man: document the very specific env the shutdown drop-in tools live in
9534ce54858c67363b841cdbdc315140437bfdb4Lennart Poettering* shutdown logging: store to EFI var, and store to USB stick?
c798c40ec957a35cd4b7d04a196a9e58880c6ff3Lennart Poettering* man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart Poettering* systemctl: maybe add "systemctl add-wants" or so...
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart Poettering* man: add more examples to man pages
253ee27a0c7a410d27d490bb79ea97caed6a2b68Lennart Poettering* man: maybe sort directives in man pages, and take sections from --help and apply them to man too
5d0fcd7c8d29340ac9425c309e8ac436a9af699cLennart Poettering* write UI tool that pops up emergency messages from the journal as notification
73090dc815390f4fca4e3ed8a7e1d3806605daaaLennart Poettering* think about window-manager-run-as-user-service problem: exit 0 → activate shutdown.target; exit != 0 → restart service
3d57c6ab801f4437f12948e29589e3d00c3ad9dbLennart Poettering* msgcatalog determine default language of entries from the catalog
b9a2a36b519ccd79c4198e7dda4e657d597a14adLennart Poettering file name. i.e. foobar.de_DE.catalog would set the default entry
b9a2a36b519ccd79c4198e7dda4e657d597a14adLennart Poettering name for the entries to de_DE if they aren't explicitly suffixed
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* use "log level" rather than "log priority" everywhere
f9276855a1d270b6c3f857cdaf2c4b49920c2228Lennart Poettering* timedate: have global on/off switches for auto-time (NTP), and auto-timezone that connman can subscribe to.
260abb780a135e4cae8c10715c7e85675efc345aLennart Poettering* Honour "-" prefix for InaccessibleDirectories= and ReadOnlyDirectories= to
260abb780a135e4cae8c10715c7e85675efc345aLennart Poettering suppress errors of the specified path doesn't exist
2791a8f8dc8764a9247cdba3562bd4c04010f144Lennart Poettering* dev-setup.c: when running in a container, create a tiny stub udev
a8f11321c209830a35edd0357e8def5d4437d854Lennart Poettering database with the systemd tag set for all network interfaces found,
a8f11321c209830a35edd0357e8def5d4437d854Lennart Poettering so that libudev reports them as present, and systemd's .device units
21bdae12e11ae20460715475d8a0c991f15464acLennart Poettering will be activated.
c32e0c40f7e706e3ebcd101187d5ced96f083491Lennart Poettering* merge unit_kill_common() and unit_kill_context()
35f10fccb06a0c7b4f26a28746db387aac376cb3Lennart Poettering* introduce ExecCondition= in services