TODO revision ea92ae33e0fbbf8a98cd2e08ca5a850d83d57fae
b7ff1e47da4653d2ff1ec7b489e6067fed29d8c5Lennart Poettering* the running hwdb seems not to pick up updated database files without
c904f64d84db8c4eebedf210ba10893f19ba05edLennart Poettering an explicit: udevadm control --reload
05677bb78079c3fa0283101aac2c07581f4873f1Lennart Poettering* enabling an instance unit creates pointless link, and
73090dc815390f4fca4e3ed8a7e1d3806605daaaLennart Poettering the unit will be started with getty@getty.service:
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering $ systemctl enable getty@.service
35c5c7a01daeb2c83c693deea07c8f2d0d6c83e2Lennart Poettering ln -s '/usr/lib/systemd/system/getty@.service' '/etc/systemd/system/getty.target.wants/getty@.service'
ddd88763921a1534081ed28e36f6712a85449005Lennart Poettering* check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* swap units that are activated by one name but shown in the kernel under another are semi-broken
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* Dangling symlinks of .automount unit files in .wants/ directories, set up
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering automount points even when the original .automount file did not exist
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering anymore. Only the .mount unit was still around.
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering* make polkit checks async
068665b6fd9839f27bcace7e8f56c0baa6935272Lennart Poettering* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
9586cdfab6a2638078702b7fea7e16b3a71899e2Lennart Poettering* ellipsize_mem must take into account multi-byte unicode characters, and
9586cdfab6a2638078702b7fea7e16b3a71899e2Lennart Poettering - make the resulting line the requested number of *characters*, not *bytes*,
9586cdfab6a2638078702b7fea7e16b3a71899e2Lennart Poettering - avoid truncuating multi-byte sequences in the middle.
9586cdfab6a2638078702b7fea7e16b3a71899e2Lennart Poettering* When we detect invalid UTF-8, we cant't use it in an error message:
6b80b9b8ee6d372e00ece51e6a11c6d31899aaecLennart Poettering log...("Path is not UTF-8 clean, ignoring assignment: %s", rvalue);
54ecda32c60c6f2548f74703bfd324694393edaaLennart Poettering* shorten the message to sane length:
7f110ff9b8828b477e87de7b28c708cf69a3d008Lennart Poettering Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory. See system logs and 'systemctl status display-manager.service' for details.
8d2831af71debde5dc20bfa84a68a7190eab8542Lennart Poettering* external: ps should gain colums for slice and machine
93e487fc8f88847964baf6e61a58e34ab41898d1Lennart Poettering - localectl: support new converted x11→console keymaps
9cacf564513b5fd6078cd418b104083aab8b9bd8Lennart Poettering* when installing fedora with yum --installroot /var/run is a directory, not a symlink
7d900eb6f58ca76a0f742c6e1823aa7317d4471fLennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=975864
7d900eb6f58ca76a0f742c6e1823aa7317d4471fLennart PoetteringCGroup Rework Completion:
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering* introduce "mainpid" for scopes (or maybe not?)
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering* implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering* implement per-slice CPUFairScheduling=1 switch
101f077676e9fbe1a66c8b2dc4864a8d7a94c372Lennart Poettering* handle jointly mounted controllers correctly
f7f964eb3625e4cca7f16377fa12aa7a760243e7Lennart Poettering* make BlockIODeviceWeight=, BlockIODeviceBandwidth= runtime settable
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering* introduce high-level settings for RT budget, swappiness
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering* wiki: document new bus APIs of PID 1 (transient units, Reloading signal)
d0e5a33374cee92962af33dfc03873e470b014f6Lennart Poettering* better error message if you run systemctl without systemd running
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers* unlink PID files of units after exit
6edd7ca1624f89c9a36067b721a0280e748acb17Kay Sievers* tiny tool that saves/restores backlight
15e9fbd851c15ecaad4888932584f37dcd26111aLennart Poettering* systemctl status output should should include list of triggering units and their status
53ed2eeb2e709a6c0d152d7bdf2d9a4b9f997a16Lennart Poettering* for transient units, instead of writing out drop-ins for all properties consider serializing them in the normal serialization stream
05d02d8db0b3a7fd7634f7a0bd35ad96da469fb4Lennart Poettering* logind: when logging out, remove user-owned sysv and posix IPC objects
353e12c2f4a9e96a47eb80b80d2ffb7bc1d44a1bLennart Poettering* session scopes/user unit: add RequiresMountsFor for the home directory of the user
12ac304714996c3c3308d014b301d0d42d16c117Lennart Poettering* add a man page containing packaging guidelines and recommending usage of things like Documentation=, PrivateTmp=, PrivateNetwork= and ReadOnlyDirectories=/etc /usr.
2496985585f8d0febfc578b78d5fb098d545565bLennart Poettering* journalctl: instead --after-cursor= maybe have a --cursor=XYZ+1 syntax?
680a1dbc354b2f437b4e06e27d4c43217977efdfLennart Poettering* given that logind/machined now let PID 1 do all nasty work we can
7e64c73a93cdcc7068280f3e3ba8adbd6c6f8f84Lennart Poettering probably reduce the capability set they retain substantially.
c4aa65e7147dc742886edf25593e10466b02fc3aLennart Poettering* btrfs raid assembly: some .device jobs stay stuck in the queue
36e43bddd0a4526e77cdae2c922bb29f67bd74adLennart Poettering* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
acb14d318b84bda00d1e666d7dab6794d5bbeb3fLennart Poettering* Fedora: post FPC ticket to move add %tmpfiles_create to the packaging guidelines
b61c90514e134dc781617d172961f25e7352f53bLennart Poettering* make sure gdm doesn't use multi-user-x but the new default X configuration file, and then remove multi-user-x from systemd
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* when a kernel driver logs in a tight loop we should ratelimit that too.
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* "systemctl disable" of a unit instance removes all symlinks, should
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering only remove the instance symlink (systemctl disable of a template
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering unit however should remove them all).
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* journald: optionally, log debug messages to /run but everything else to /var
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so)
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering* journald: when we drop syslog messages because the syslog socket is
a558d00381291afd6a81f7df07269fe76eeae556Lennart Poettering full, make sure to write how many messages are lost as first thing
05aa9edde0f9f4077b8120389c93cb0134eda9c5Lennart Poettering to syslog when it works again.
31ed59c51126fce7d958c188772a397e2a1ed010Lennart Poettering* man: the documentation of Restart= currently is very misleading and suggests the tools from ExecStartPre= might get restarted.
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* load .d/*.conf dropins for device units
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* add a fixed dbus path for "my own unit", "my own session", ... to PID1, logind, ...
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* service_coldplug() appears to reinstall the wrong stop timeout watch?
62f21ec91ad8e7e24079962f4df066b0094fe68dLennart Poettering* transient units: allow creating auxiliary units with the same call
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering* how to reset dynamically changed attributes sanely?
87a8baa35d6d65ac3b58ae8e26e338e67f8ae8edLennart Poettering* when reloading configuration, apply new cgroup configuration
0716c60e37d2083325cd5316caf4310f0acc9a89Lennart Poettering* journald: make sure ratelimit is actually really per-service with the new cgroup changes
5ba081b0fb02380cee4c2ff5bc7e05f869eb8415Lennart Poettering* libsystemd-logind: sd_session_is_active() and friends: verify
5ba081b0fb02380cee4c2ff5bc7e05f869eb8415Lennart Poettering validity of session name before appending it to a path
b3fa47e0819b08ea32e69e19e6d88ce2daca069dLennart Poettering* gparted needs to disable auto-activation of mount units somehow, or
aaf53376aaac326b700fd3f8e28bbd842f0a9ed1Lennart Poettering maybe we should stop doing auto-activation of this after boot
aaf53376aaac326b700fd3f8e28bbd842f0a9ed1Lennart Poettering entirely. https://bugzilla.gnome.org/show_bug.cgi?id=701676
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering Maybe take a BSD lock at the disk device node and teach udev to
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering check for that and suppress event handling.
7f3e62571a63ac90de6ac5eefeeb8d3e9aa6f49eLennart Poettering* when a service changes state make reflect that in the
4cbd9ecf45f64c3a9acc99d473fbf3be3687ae24Lennart Poettering RUNNING/LISTENING states of its socket
c77b7f7f82683f10e44e9ea54107d4a91feb08e3Lennart Poettering* when recursively showing the cgroup hierarchy, optionally also show
c77b7f7f82683f10e44e9ea54107d4a91feb08e3Lennart Poettering the hierarchies of child processes
25d6283acfeb87730c2c0c4c2ef76a66fa397e87Lennart Poettering* document logic of auto/noauto and fail/nofail in fstab in systemd.mount or systemd-fstab-generator man page
effe639c6a66123a7c6626cb9129f6bcbb41b3aeLennart Poettering* we should properly escape ssh hostnames we add into dbus server strings
a6eb9147a820d1c08b315867373a21bd0ece2f05Lennart Poettering* something pulls in pcre as so dep into our daemons such as hostnamed.
b011116d1829bde044a638cbabfb070a7e0e8fa7Kay Sievers* document systemd-journal-flush.service properly
65c0cf7108ae3537a357c74b4586a783baba82f9Lennart Poettering* change systemd-journal-flush into a service that stays around during
65c0cf7108ae3537a357c74b4586a783baba82f9Lennart Poettering boot, and causes the journal to be moved back to /run on shutdown,
7ef5875d142f01ab4fe8d35412d48c10723ae2d4Lennart Poettering so that we don't keep /var busy. This needs to happen synchronously,
7ef5875d142f01ab4fe8d35412d48c10723ae2d4Lennart Poettering hence doing this via signals is not going to work.
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers* allow implementation of InaccessibleDirectories=/ plus
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers ReadOnlyDirectories=... for whitelisting files for a service.
a2f5666d06fe8233025738047115bb9e3959df3eLennart Poettering* libsystemd-bus:
ad740100d108282d0244d5739d4dcc86fe4c5fdeLennart Poettering - default policy (allow uid == 0 and our own uid)
ad740100d108282d0244d5739d4dcc86fe4c5fdeLennart Poettering - enforce alignment of pointers passed in
c821bd28c2ecce8d35248d61949fe1c0c3030b6cLennart Poettering - when kdbus doesn't take our message without memfds, try again with memfds
c821bd28c2ecce8d35248d61949fe1c0c3030b6cLennart Poettering - implement translator service
de6c78f8795743894431a099d26ec562a8acf3dfLennart Poettering - port systemd to new library
7d441ddb5ca090b5a97f58ac4b4d97b3e84fa81eLennart Poettering - implement busname unit type in systemd
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart Poettering - move to gvariant
14e639ae7a1dbf156273ce697d30fbc6c6594209Lennart Poettering - merge busctl into systemctl or so?
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poettering - synthesize sd_bus_message objects from kernel messages
ff01d048b4c1455241c894cf7982662c9d28fd34Lennart Poettering - properly implement name registry ioctls for kdbus
72b9ed828bd22f3ddd74b6853c183eebf006d6d8Lennart Poettering - get rid of object hash table, use decision tree everyhwere instead?
72b9ed828bd22f3ddd74b6853c183eebf006d6d8Lennart Poettering - implement monitor logic
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering - object vtable logic
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering - longer term:
1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9Lennart Poettering * priority queues
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering * priority inheritance
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* in the final killing spree, detect processes from the root directory, and
0a55b298d930543c8065bb9e708dd112562b1736Lennart Poettering complain loudly if they have argv[0][0] == '@' set.
97f73ffb04947acf0a5854e3a7bdbb7a0105f6faLennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=961044
85f248b26653f5322c26735661d63d4e8460c30eLennart Poettering* add an option to nspawn that uses seccomp to make socket(AF_NETLINK,
85f248b26653f5322c26735661d63d4e8460c30eLennart Poettering SOCK_RAW, NETLINK_AUDIT) fail the the appropriate error code that
1258097cd3cdbc5dd3d264850119e553a29c5068Lennart Poettering makes the audit userspace to think auditing is not available in the
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart Poettering* Introduce a way how we can kill the main process of a service with KillSignal, but all processes with SIGKILL later on
a4c279f87451186b8beb1b8cc21c7cad561ecf4bLennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=952634
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering* maybe add a warning to the unit file parses where the access mode of unit files is nonsensical.
d3fc81bd6a5a046b22600ac1204df220c93d2c15Lennart Poettering* investigate endianness issues of UUID vs. GUID
253ee27a0c7a410d27d490bb79ea97caed6a2b68Lennart Poettering* dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering should be able to safely try another attempt when the bus call LoadUnit() is invoked.
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering* if pam_systemd is invoked by su from a process that is outside of a
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering any session we should probably just become a NOP, since that's
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering usually not a real user session but just some system code that just
f28f1daf754a9a07de90e6fc4ada581bf5de677dLennart Poettering needs setuid().
88a07670cfa974a605c7c7b520b8a3135fce37f9Lennart Poettering* add a pam module that passes the hdd passphrase into the PAM stack and then expires it, for usage by gdm auto-login.
916abb21d0a6653e0187b91591e492026886b0a4Lennart Poettering* add a pam module that on password changes updates any LUKS slot where the password matches
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* maybe add a generator that looks for "systemd.run=" on the kernel cmdline for container usercases...
b23de6af893c11da4286bc416455cd0926d1532eLennart Poettering* timedatctl, localectl: possibly make some commands work without the daemon, for chroot situations...
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering* logind: add Suspend() bus calls which take timestamps to fix double suspend issues when somebody hits suspend and closes laptop quickly.
21bdae12e11ae20460715475d8a0c991f15464acLennart Poettering* we need dynamic units
9534ce54858c67363b841cdbdc315140437bfdb4Lennart Poettering* cgtop: make cgtop useful in a container
c798c40ec957a35cd4b7d04a196a9e58880c6ff3Lennart Poettering - add 'set -e' to scripts in test/
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart Poettering - make stuff in test/ work with separate output dir
68c7d001f4117f0c3d0a4582e32cbb03ae5fac57Lennart Poettering - remove all the duplicated code in test/
7a2a0b907b5cc60f5d9a871997d7d6e7f62bf4d8Lennart Poettering* systemctl delete x.snapshot leaves no trace in logs (at least at default level).
5d0fcd7c8d29340ac9425c309e8ac436a9af699cLennart Poettering* make the coredump collector tool move itself into the user's cgroup
5d0fcd7c8d29340ac9425c309e8ac436a9af699cLennart Poettering so that the coredump is properly written to the user's own journal
44143309dd0b37d61d7d842ca58f01a65646ec71Kay Sievers* seems that when we follow symlinks to units we prefer the symlink
3d57c6ab801f4437f12948e29589e3d00c3ad9dbLennart Poettering destination path over /etc and /usr. We shouldn't do that. Instead
b9a2a36b519ccd79c4198e7dda4e657d597a14adLennart Poettering /etc should always override /run+/usr and also any symlink
9408a2d295a312a5472345090e28e0502570494bLennart Poettering* remove duplicate default deps logic from fstab-generator vs. mount.c
3f7a8c4e9f1d3ce48919e24eb2c9d56dd6fd88d8Kay Sievers* when isolating, try to figure out a way how we implicitly can order
f9276855a1d270b6c3f857cdaf2c4b49920c2228Lennart Poettering all units we stop before the isolating unit...
260abb780a135e4cae8c10715c7e85675efc345aLennart Poettering* add ConditionArchitecture= or so
260abb780a135e4cae8c10715c7e85675efc345aLennart Poettering* teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
a8f11321c209830a35edd0357e8def5d4437d854Lennart Poettering* Support SO_REUSEPORT with socket activation:
a8f11321c209830a35edd0357e8def5d4437d854Lennart Poettering - Let systemd maintain a pool of servers.
21bdae12e11ae20460715475d8a0c991f15464acLennart Poettering - Use for seamless upgrades, by running the new server before stopping the
c32e0c40f7e706e3ebcd101187d5ced96f083491Lennart Poettering* after all byte-wise realloc() is slow, even on glibc, so i guess we
35f10fccb06a0c7b4f26a28746db387aac376cb3Lennart Poettering need manual exponential loops after all
cc9784c6d12b1ee73dae22b86c3aac1d08346623Lennart Poettering* BootLoaderSpec: drop allowing ext234 for $BOOT. Clarify that the