TODO revision d907c2086716681936755f28ac80b3445c6d0196
d657c51f14601d0235434ffb78cf6ac0f27cc83cLennart PoetteringBugfixes:
220a21d38f675eb835f5758e3d23e896573aa5eaLennart Poettering* check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* swap units that are activated by one name but shown in the kernel under another are semi-broken
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* Dangling symlinks of .automount unit files in .wants/ directories, set up
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering automount points even when the original .automount file did not exist
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering anymore. Only the .mount unit was still around.
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* make polkit checks async
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* stop importing kernel exported env variables. The utterly broken logic in
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering the kernel exports every kernel command line option which is not recognized
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering as a built-in module option as an env variable. Systemd should not pass-on
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering that nonsense, a kernel command line option is a command line option not an
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering env variable:
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering $ cat /proc/252/environ
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering initrd=\6a9857a393724b7a981ebb5b8495b9ea\3.10.0-2.fc20.x86_64\initrd
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart PoetteringFedora 19:
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* external: maybe it is time to patch procps so that "ps" links to
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering libsystemd-logind to print a pretty service name, seat name, session
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering name in its output. Currently it only shows cgroup membership, but
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering that's sometimes kinda hard to parse for a human.
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* cgroup attrs:
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering - update dbus interface docs in wiki
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* localed:
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering - localectl: support new converted x11→console keymaps
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* when installing fedora with yum --installroot /var/run is a directory, not a symlink
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart PoetteringCGroup Rework Completion:
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* introduce "mainpid" for scopes
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* implement per-slice CPUFairScheduling=1 switch
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* handle jointly mounted controllers correctly
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* logind: implement session kill exceptions
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* make BlockIODeviceWeight=, BlockIODeviceBandwidth= runtime settable
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* introduce high-level settings for RT budget, swappiness
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* man: document new bus apis
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* Send SIGHUP and SIGTERM in session scopes
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart PoetteringFeatures:
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* journald: optionally, when messages with a high log prioerity are logged, sync() immeidately.
1cb88f2c61f590083847d65cd5a518e834da87d3Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* introduce %v resolving to the string returned by "uname -r"
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so)
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
15f47220ab59f480ddedc422cad435091778fc95Ben Boeckel* Get rid of systemd-sysv:
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering https://fedoraproject.org/wiki/User:Toshio/Systemd_Convert_draft
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* do we really need both hasprefix() and startswith()?
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* when a kernel driver logs in a tight loop we should ratelimit that too.
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* journald: when we drop syslog messages because the syslog socket is
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering full, make sure to write how many messages are lost as first thing
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering to syslog when it works again.
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* prohibit Restart= set with Type=oneshot
4d92e078e9d7e9a9d346065ea5e4afbafbdadb48Lennart Poettering
4d92e078e9d7e9a9d346065ea5e4afbafbdadb48Lennart Poettering* man: the documentation of Restart= currently is very misleading and suggests the tools from ExecStartPre= might get restarted.
4d92e078e9d7e9a9d346065ea5e4afbafbdadb48Lennart Poettering
4d92e078e9d7e9a9d346065ea5e4afbafbdadb48Lennart Poettering* load .d/*.conf dropins for device units
4d92e078e9d7e9a9d346065ea5e4afbafbdadb48Lennart Poettering
139ee8cc316a861bcc8a8ebdf4a8449dffe16f79Lennart Poettering* move systemctl set-log-level to systemd-analyze?
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering* move "systemctl dump" to systemd-analyze
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering* add a fixed dbus path for "my own unit", "my own session", ... to PID1, logind, ...
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering* service_coldplug() appears to reinstall the wrong stop timeout watch?
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering* transient units: allow creating auxiliary units with the same call
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering* how to reset dynamically changed attributes sanely?
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering* when reloading configuration, apply new cgroup configuration
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering* journald: make sure ratelimit is actually really per-service with the new cgroup changes
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering* libsystemd-logind: sd_session_is_active() and friends: verify
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering validity of session name before appending it to a path
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering
f9b557200b6d59a3dce1623d0873a259ee2fe421Lennart Poettering* gparted needs to disable auto-activation of mount units somehow, or
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering maybe we should stop doing auto-activiation of this after boot
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering entirely. https://bugzilla.gnome.org/show_bug.cgi?id=701676
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* when a service changes state make reflect that in the
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering RUNNING/LISTENING states of its socket
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* when recursively showing the cgroup hierarchy, optionally also show
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering the hierarchies of child processes
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* document logic of auto/noauto and fail/nofail in fstab in systemd.mount or systemd-fstab-generator man page
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* we should properly escape ssh hostnames we add into dbus server strings
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* something pulls in pcre as so dep into our daemons such as hostnamed.
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* cgroup-agent: downgrade error messages
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* document systemd-journal-flush.service properly
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* chane systemd-journal-flush into a service that stays around during
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering boot, and causes the journal to be moved back to /run on shutdown,
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering so that we don't keep /var busy. This needs to happen synchronously,
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering hence doing this via signals is not going to work.
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* allow implementation of InaccessibleDirectories=/ plus
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering ReadOnlyDirectories=... for whitelisting files for a service.
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* libsystemd-journal:
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering - return ECHILD as soon as somebody tries to reuse a journal object across a fork()
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* libsystemd-bus:
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering - default policy (allow uid == 0 and our own uid)
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering - enforce alignment of pointers passed in
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering - when kdbus doesn't take our message without memfds, try again with memfds
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering - implement translator service
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering - port systemd to new library
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering - implement busname unit type in systemd
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering - move to gvariant
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering - merge busctl into systemctl or so?
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering - synthesize sd_bus_message objects from kernel messages
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering - properly implement name registry ioctls for kdbus
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering - get rid of object hash table, use decision tree everyhwere instead?
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering - implement monitor logic
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering - object vtable logic
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering - longer term:
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering * priority queues
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering * priority inheritance
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering* in the final killing spree, detect processes from the root directory, and
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering complain loudly if they have argv[0][0] == '@' set.
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=961044
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
075d4ecb4026c5bc55e73bd2d44e3fc4d679adc7Lennart Poettering* add an option to nspawn that uses seccomp to make socket(AF_NETLINK,
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering SOCK_RAW, NETLINK_AUDIT) fail the the appropriate error code that
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering makes the audit userspace to think auditing is not available in the
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering kernel.
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* Introduce a way how we can kill the main process of a service with KillSignal, but all processes with SIGKILL later on
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=952634
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* maybe add a warning to the unit file parses whern the acces mode of unit files is non-sensical.
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* investigate endianess issues of UUID vs. GUID
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering should be able to safely try another attempt when the bus call LoadUnit() is invoked.
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* if pam_systemd is invoked by su from a process that is outside of a
6563b535a062055ae68f2e574018d9d04a864b65Lennart Poettering any session we should probably just become a NOP, since that's
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering usually not a real user session but just some system code that just
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering needs setuid().
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* add a pam module that passes the hdd passphrase into the PAM stack and then expires it, for usage by gdm auto-login.
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* add a pam module that on password changes updates any LUKS slot where the password matches
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
6563b535a062055ae68f2e574018d9d04a864b65Lennart Poettering* maybe add a generator that looks for "systemd.run=" on the kernel cmdline for container usercases...
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* timedatctl, localectl: possibly make some commands work without the daemon, for chroot situations...
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
6563b535a062055ae68f2e574018d9d04a864b65Lennart Poettering* logind: add Suspend() bus calls which take timestamps to fix double suspend issues when somebody hits suspend and closes laptop quickly.
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* we need dynamic units
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* cgtop: make cgtop useful in a container
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering
597c52cfedb5edd13ee1635fa6be72fc80e587c3Lennart Poettering* test/:
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering - add 'set -e' to scripts in test/
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - make stuff in test/ work with separate output dir
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - remove all the duplicated code in test/
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* suppress log output on shutdown when "quiet" is used
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* systemctl delete x.snapshot leaves no trace in logs (at least at default level).
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* make the coredump collector tool move itself into the user's cgroup
8d0256b7eb119de92c748cf566257996b02fb506Lennart Poettering so that the coredump is properly written to the user's own journal
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering file.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* seems that when we follow symlinks to units we prefer the symlink
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering destination path over /etc and /usr. We shouldn't do that. Instead
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /etc should always override /run+/usr and also any symlink
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering destination.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* remove duplicate default deps logic from fstab-generator vs. mount.c
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* when isolating, try to figure out a way how we implicitly can order
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering all units we stop before the isolating unit...
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* teach udev + logind's uaccess to somehow handle the "dead" device nodes from:
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /lib/modules/$(uname -r)/modules.devname
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering and apply ACLs to them if they have TAG=="uaccess" in udev rules.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* add ConditionArchitecture= or so
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* we should log capabilities too
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* Support SO_REUSEPORT with socket activation:
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - Let systemd maintain a pool of servers.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - Use for seamless upgrades, by running the new server before stopping the
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering old.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* after all byte-wise realloc() is slow, even on glibc, so i guess we
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering need manual exponential loops after all
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* BootLoaderSpec: drop allowing ext234 for $BOOT. Clarify that the
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering kernel has to be in $BOOT. Clarify that the boot loader should be
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering installed to the ESP. Define a way how an installer can figure out
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering whether a BLS compliant boot loader is installed.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* man: remove .include documentation, and instead push people to use .d/*.conf
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* think about requeuing jobs when daemon-reload is issued? usecase:
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering the initrd issues a reload after fstab from the host is accessible
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering and we might want to requeue the mounts local-fs acquired through
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering that automatically.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* rework specifier logic so that we can distuingish OOM errors from other errors
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* systemd-inhibit: make taking delay locks useful: support sending SIGINT or SIGTERM on PrepareForSleep()
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* journal-or-kmsg is currently broken? See reverted commit 4a01181e460686d8b4a543b1dfa7f77c9e3c5ab8.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* remove any syslog support from log.c -- we probably can't do this before split-off udev is gone for good
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* add a tool that lists active timer units plus their next elapstion and the time the units ran last
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* man: document the very specific env the shutdown drop-in tools live in
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
a98d5d64720bdf32e3b5f72f896b583e23f730adLennart Poettering* shutdown logging: store to EFI var, and store to USB stick?
a98d5d64720bdf32e3b5f72f896b583e23f730adLennart Poettering
a98d5d64720bdf32e3b5f72f896b583e23f730adLennart Poettering* man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* systemctl: maybe add "systemctl add-wants" or so...
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* man: add more examples to man pages
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* man: maybe sort directives in man pages, and take sections from --help and apply them to man too
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* write UI tool that pops up emergency messages from the journal as notification
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* think about window-manager-run-as-user-service problem: exit 0 → activate shutdown.target; exit != 0 → restart service
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* msgcatalog determine default language of entries from the catalog
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering file name. i.e. foobar.de_DE.catalog would set the default entry
aaccc32cdc44b2b972946e44792d63ae17c089c2Lennart Poettering name for the entries to de_DE if they aren't explicitly suffixed
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering individually.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* use "log level" rather than "log priority" everywhere
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* timedate: have global on/off switches for auto-time (NTP), and auto-timezone that connman can subscribe to.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* Honour "-" prefix for InaccessibleDirectories= and ReadOnlyDirectories= to
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering suppress errors of the specified path doesn't exist
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* dev-setup.c: when running in a container, create a tiny stub udev
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering database with the systemd tag set for all network interfaces found,
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering so that libudev reports them as present, and systemd's .device units
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering will be activated.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* merge unit_kill_common() and unit_kill_context()
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* introduce ExecCondition= in services
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* EFI:
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - fsck hookup for the ESP mount is missing
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - write man page for efi boot generator
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - honor language efi variables for default language selection (if there are any?)
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - honor timezone efi variables for default timezone selection (if there are any?)
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - introduce bootctl (backed by systemd-bootd) to control temporary and persistent default boot goal plus efi variables
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* maybe do not install getty@tty1.service symlink in /etc but in /usr?
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* re-enable "make check" for gtk-doc (broken for unknown reason)
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering* fstab: add new mount option x-systemd-after=/foobar/waldo to allow manual dependencies to other mount points
aad803af990f7c88e94427b9278d88afe3a12d38Lennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=812826
aad803af990f7c88e94427b9278d88afe3a12d38Lennart Poettering
aad803af990f7c88e94427b9278d88afe3a12d38Lennart Poettering* print a nicer explanation if people use variable/specifier expansion in ExecStart= for the first word
aad803af990f7c88e94427b9278d88afe3a12d38Lennart Poettering
aad803af990f7c88e94427b9278d88afe3a12d38Lennart Poettering* mount: turn dependency information from /proc/self/mountinfo into dependency information between systemd units.
aad803af990f7c88e94427b9278d88afe3a12d38Lennart Poettering
aad803af990f7c88e94427b9278d88afe3a12d38Lennart Poettering* logind:
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering - logind: optionally, ignore idle-hint logic for autosuspend, block suspend as long as a session is around
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - When we update the kernel all kind of hibernation should be prohibited until shutdown/reboot
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - logind: wakelock/opportunistic suspend support
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - Add pretty name for seats in logind
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - logind: allow showing logout dialog from system?
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - logind: spawn user@..service on login
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - logind: non-local X11 server handling
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering - logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - logind: GetSessionByPID() should accept 0 as PID value
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - we should probably handle SIGTERM/SIGINT to not leave dot files around, just in case
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering* DeviceAllow/DeviceDeny: disallow everything by default, but whitelist /dev/zero, /dev/null and friends
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering* service: watchdog logic: for testing purposes allow ping, but do not require pong
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering* journal:
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - do not use magic msync() in src/journal/journal-file.c, just call fsync()
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering <alxchk> poettering: looks like msync just calls vfs_fsync
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/mm/msync.c#n18
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - import and delete pstore filesystem content at startup
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journald: also get thread ID from client, plus thread name
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - add API to close/reopen/get fd for journal client fd in libsystemd-journal.
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - fallback to /dev/log based logging in libsystemd-journal, if we can't log natively?
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - declare the local journal protocol stable in the wiki interface chart
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: reuse XZ context
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journald: when dropping msgs due to ratelimit make sure to write
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering "dropped %u messages" not only when we are about to print the next
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering message that works, but alraedy after a short tiemout
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - check if we can make journalctl by default use --follow mode inside of less if called without args?
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - maybe add API to send pairs of iovecs via sd_journal_send
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: when writing journal auto-rotate if time jumps backwards
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: add a setgid "systemd-journal" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journactl: support negative filtering, i.e. FOOBAR!="waldo",
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering and !FOOBAR for events without FOOBAR.
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: when rotating, copy over old acls/access mode
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: send out marker messages every now and then, and immediately sync with fdatasync() afterwards, in order to have hourly guaranteed syncs.
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal-send.c, log.c: when the log socket is clogged, and we drop, count this and write a message about this when it gets unclogged again.
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: find a way to allow dropping history early, based on priority, other rules
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: When used on NFS, check payload hashes
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - Introduce journalctl -b <nr> to show journal messages of a previous boot
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journald: check whether it is OK if the client can still modify delivered journal entries
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal live copy, based on libneon (client) and libmicrohttpd (server)
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journald: add kernel cmdline option to disable ratelimiting for debug purposes
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - refuse taking lower-case variable names in sd_journal_send() and friends.
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: deal nicely with byte-by-byte copied files, especially regards header
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journalctl: show multiline log messages sanely, expand tabs, and show all valid utf8 messages
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: store euid in journal if it differs from uid
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - Replace utmp, wtmp, btmp, and lastlog completely with journal
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - Port upower to use the journal for historical power information used in future calculations
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering* document:
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - document unit_name_mangle()
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - document that deps in [Unit] sections ignore Alias= fileds in
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering [Install] units of other units, unless those units are disabled
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - Document word splitting syntax for ExecStart= and friends
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - document that units from /etc override those from /usr and /run
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering - document the exit codes when services fail before they are exec()ed
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - document that service reload may be implemented as service reexec
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering - document in wiki how to map ical recurrence events to systemd timer unit calendar specifications
38a60d7112d33ffd596b23e8df53d75a7c09e71bLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* systemctl:
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - systemctl list-jobs - show dependencies
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - add systemctl switch to dump transaction without executing it
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - Add a verbose mode to "systemctl start" and friends that explains what is being done or not done
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - "systemctl disable" on a static unit prints no message and does
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering nothing. "systemctl enable" does nothing, and gives a bad message
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering about it. Should fix both to print nice actionable messages.
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - systemctl enable: improve the success messages (i.e. more human readable, less shell-like)
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - systemctl enable: fail if target to alias into doesn't exist? maybe show how many units are enabled afterwards?
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - systemctl: "Journal has been rotated since unit was started." message is misleading
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - support "systemctl stop foobar@.service" to stop all units matching a certain template
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* introduce ntp.service (or suchlike) as symlink that is used to arbitrate between various NTP implementations
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* deal with sendmail/postfix exclusivity
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* timer units:
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - configurable jitter for timer events
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - timer events with system resume
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - timer units should get the ability to trigger when:
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering o DST changes
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - Support 2012-02~4 as syntax for specifying the fourth to last day of the month.
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* update the kernel's TZ (sys_tz) when DST changes
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* sync down the system time to the RTC when:
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - CLOCK_REALTIME makes jumps (the user explicitely requested a time set)
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - DST/timezone changes && ntp is active && RTC-in-localtime (never do it without ntp)
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering This takes care of syncing ntpdate updates to the RTC, and DST updates for localtime
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering mode, it will never touch the RTC if the no reliable time source is active or the
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering user did not request anything like it.
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* hwdb:
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - implement conditional properties (dmi matches)
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - hwdb --filter=ID_DRIVE_*
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* if booted in "quiet" mode, and an error happens, turn on status
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering output again, so that the emergency mode isn't totally
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering surprising. Also, terminate plymouth.
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* libunwind support for coredump pattern hook, and includes this in
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering the message for coredumps. After all, libunwind is now capable to
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering unwind coredumps since a few weeks ago. This probably requires that
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering we have nice support for multi-line messages on display in
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering logs-show.c. Alternatively: use libelfutil, which seems to be the
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering better supported alternative.
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* figure out relation of --all and --full in the various tools
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* add libsystemd-password or so to query passwords during boot using the password agent logic
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* 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().
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* fedup: add --unit to systemctl switch-root somehow
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* fedup: don't delete initrd on switch-root
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* fedup: generator
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering* timedated:
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - timedated: refuse time changes when NTP is on
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* introduce generic AUGMENT_PID=, AUGMENT_DEVICE= fields
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* add "provisioning" instructions to setup an empty /etc + /var
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - used to setup a new container from a shared /usr
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - superset of tmpfiles model
c269cec334f940d82146f70d69125b1caef08baaLennart Poettering - instructions shipped by packages and stored in /usr/lib/
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - compose /etc/passwd and /etc/group, copy files
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - able to create uid + gid used by packages, for file ownership
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* make repeated alt-ctrl-del presses printing a dump, or even force a reboot without
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering waiting for the timeout
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* high level net_prio setting in execution context
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ...
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab isn't
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* refuse boot if /etc/machine-id is not useful (or set taint?)
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* nspawn:
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - nspawn: consider changing users for -u with su, so that NSS resolving works correctly
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - nspawn: implement personality changes a la linux32(8)
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - nspawn: --read-only is not applied recursively to submounts
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - nspawn: make use of device cgroup controller by default
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - bind mount read-only the cgroup tree higher than nspawn
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - nspawn: investigate whether we can support the same as LXC's
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering lxc.network.type=phys mode, and pass through entire network
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering interfaces to the container
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - nspawn: maybe add a way to drop additional caps, in addition to add additional caps
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - nspawn: maybe explicitly reset loginuid?
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - nspawn: make it work for dwalsh and shared /usr containers -- tmpfs mounts as command line parameters, selinux exec context
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* cryptsetup:
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - cryptsetup-generator: allow specification of passwords in crypttab itself
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - move cryptsetup key caching into kernel keyctl?
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering https://bugs.freedesktop.org/show_bug.cgi?id=54982
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* move debug shell to tty6 and make sure this doesn't break the gettys on tty6
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering https://bugs.freedesktop.org/show_bug.cgi?id=54712
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* after deserializing sockets in socket.c we should reapply sockopts and things
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* make timer units go away after they elapsed
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* http://lists.freedesktop.org/archives/systemd-devel/2012-September/006502.html
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering (network and remote-fs on shutdown)
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* come up with a nice way to write queue/read_ahead_kb for a block device without interfering with readahead
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* move PID 1 segfaults to /var/lib/systemd/coredump?
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* create /sbin/init symlinks from the build system
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* Query Paul Moore about relabelling socket fds while they are open
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering* system.conf should have controls for cgroups
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* allow writing multiple conditions in unit files on one line
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* explore multiple service instances per listening socket idea
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* shutdown: don't read-only mount anything when running in container
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* MountFlags=shared acts as MountFlags=slave right now.
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* ReadOnlyDirectories= is not applied recursively to submounts
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* drop PID 1 reloading, only do reexecing (difficult: Reload()
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering currently is properly synchronous, Reexec() is weird, because we
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering can't delay the response properly until we are back, so instead of
d1f9edafe7b832c507931640f32069d001916b0eLennart Poettering being properly synchronous we just keep open the fd and close it
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering when done. That means clients don't get a successful method reply,
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering but much rather a disconnect on success.
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* remember which condition failed for services, not just the fact that something failed
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* use opterr = 0 for all getopt tools
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* properly handle loop back mounts via fstab, especially regards to fsck/passno
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* allow services with no ExecStart= but with an ExecStop=
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* dracut-shutdown needs to be ordered before unmounting /boot
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* rename "userspace" to "core-os"
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* syscall filter:
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - syscall filter: add knowledge about compat syscalls
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - syscall filter: don't enforce no new privs?
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - syscall filter: option to return EPERM rather than SIGSYS?
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - syscall filter: port to libseccomp
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - system-wide seccomp filter
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* .device aliases need to be implemented with the "following" logic, probably.
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* load-fragment: when loading a unit file via a chain of symlinks
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering verify that it isn't masked via any of the names traversed.
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* introduce Type=pid-file
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* change Requires=basic.target to RequisiteOverride=basic.target
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* move passno parsing to fstab generator
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* automount: implement expire:
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_CMD
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - periodically run AUTOFS_DEV_IOCTL_EXPIRE_CMD
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - every timeout/4 (original autofs logic)
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - blocking, needs a thread
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - run until -EAGAIN
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - receive expire packet on pipe if kernel tells the timeout is over
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - call umount
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - answer expire packet on pipe with AUTOFS_DEV_IOCTL_{READY,FAIL}_CMD
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - AUTOFS_DEV_IOCTL_EXPIRE_CMD returns
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* services which create their own subcgroups break cgroup-empty notification (needs to be fixed in the kernel)
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* ExecOnFailure=/usr/bin/foo
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* udev:
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n)
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - move to LGPL
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - unify utf8 validator code with shared/
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - kill scsi_id
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - add trigger --subsystem-match=usb/usb_device device
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* cleanup syslog 'priority' vs. 'level' wording
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* support container_ttys=
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* introduce mix of BindTo and Requisite
91ac74250149a29122b2291c5393dec4592430d4Kay Sievers
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* add DeleteSocketsOnStop=yes|no option to socket units
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* There's currently no way to cancel fsck (used to be possible via C-c or c on the console)
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* default unix qlen is too small (10). bump sysctl? add sockopt?
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* save coredump in Windows/Mozilla minidump format
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting)
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* clean up session cgroups that remain after logout (think sshd), but eventually run empty
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* when an instanced service exits, remove its parent cgroup too if possible.
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* default to actual 32bit PIDs, via /proc/sys/kernel/pid_max
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* be able to specify a forced restart of service A where service B depends on, in case B
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering needs to be auto-respawned?
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* when a bus name of a service disappears from the bus make sure to queue further activation requests
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* tmpfiles: apply "x" on "D" too (see patch from William Douglas)
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* for services: don't set $HOME in services unless requested
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* hide PAM/TCPWrap options in fragment parser when compile time disabled
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* when we automatically restart a service, ensure we restart its rdeps, too.
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* allow Type=simple with PIDFile=
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=723942
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* move PAM code into its own binary
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* implement Register= switch in .socket units to enable registration
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering in Avahi, RPC and other socket registration services.
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1), and add ReloadSignal= then to use in combination
5b00c0168be6e7b11db7b26fc1712cd6cda3c2e3Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* verify that the AF_UNIX sockets of a service in the fs still exist
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering when we start a service in order to avoid confusion when a user
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering assumes starting a service is enough to make it accessible
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* Make it possible to set the keymap independently from the font on
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering the kernel cmdline. Right now setting one resets also the other.
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* and a dbus call to generate target from current state
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* readahead:
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - drop /.readahead on bigger upgrades with yum
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - move readahead files into /var (look for them with .path units?)
c4f1b86299c4ce2a62ce845bc48f2794f5459762Lennart Poettering - readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - readahead: when bumping /sys readahead variable save mtime and compare later to detect changes
2d938ac75d013f713c1225def78a53583af6a596Lennart Poettering - readahead: make use of EXT4_IOC_MOVE_EXT, as used by http://e4rat.sourceforge.net/
2d938ac75d013f713c1225def78a53583af6a596Lennart Poettering
2d938ac75d013f713c1225def78a53583af6a596Lennart Poettering* add support for /bin/mount -s
2d938ac75d013f713c1225def78a53583af6a596Lennart Poettering
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering* GC unreferenced jobs (such as .device jobs)
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering* write blog stories about:
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - hwdb: what belongs into it, lsusb
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - enabling dbus services
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - status update
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - how to make changes to sysctl and sysfs attributes
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - remote access
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - how to pass throw-away units to systemd, or dynamically change properties of existing units
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - how to integrate cgconfig and suchlike with systemd
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - testing with Harald's awesome test kit
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - auto-restart
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - how to develop against journal browsing APIs
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - the journal HTTP iface
b5b4c94a67d90891a0225af0e08cf45dbc329377Lennart Poettering - non-cgroup resource management
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - dynamic resource management with cgroups
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - refreshed, longer missions statement
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - calendar time events
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - init=/bin/sh vs. "emergency" mode, vs. "rescue" mode, vs. "multi-user" mode, vs. "graphical" mode, and the debug shell
2d1972857b7bd19b4a74a8f80865749a8082f32aKay Sievers - how to create your own target
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering - instantiated apache, dovecot and so on
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering - hooking a script into various stages of shutdown/rearly booot
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering* allow port=0 in .socket units
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering* support systemd.mask= on the kernel command line.
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering* recreate systemd's D-Bus private socket file on SIGUSR2
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering* Support --test based on current system state
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering* investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering* maybe introduce ExecRestartPre=
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering* dot output for --test showing the 'initial transaction'
4c8cd173305697f59adcebf980ad7babe751d38cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* port over to LISTEN_FDS/LISTEN_PID:
b6a867398de9f75fb623a84db7c6181d26b0a8d5Lennart Poettering - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
187076d47907f7b3fcd61b2ef5eef9820915946aLennart Poettering - cups HAVEPATCH
187076d47907f7b3fcd61b2ef5eef9820915946aLennart Poettering - postfix, saslauthd
187076d47907f7b3fcd61b2ef5eef9820915946aLennart Poettering - apache/samba
187076d47907f7b3fcd61b2ef5eef9820915946aLennart Poettering - libvirtd (/var/run/libvirt/libvirt-sock-ro)
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers - distccd
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers* fingerprint.target, wireless.target, gps.target, netdevice.target
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* io priority during initialization
07cd4fc16806783d3b6b3008db222ac6a024805cKay Sievers
91cf7e5c37f97c6eb29966fac0afcbaa6662e05dTollef Fog Heen* drop cap bounding set in readahead and other services
f13b388f97bc3ba8db844bd3413d510e2466a0b6Kay Sievers
f13b388f97bc3ba8db844bd3413d510e2466a0b6Kay Sievers* systemd-python:
64661ee70d5a10c6208a1cb66ecd8b158e2d8bc5Kay Sievers - figure out a simple way to wait for journal events in a way that
2d13da8821b8197e62f819b5b996750800e910abKay Sievers works with ^C
2d13da8821b8197e62f819b5b996750800e910abKay Sievers - add documentation to systemd.daemon
2d13da8821b8197e62f819b5b996750800e910abKay Sievers
2d13da8821b8197e62f819b5b996750800e910abKay Sievers* bootchart:
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers - plot per-process IO utilization
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers - group processes based on service association (cgroups)
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers - document initcall_debug
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers - kernel cmdline "bootchart" option for simplicity?
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
194bbe33382f5365be3865ed1779147cb680f1d3Kay SieversExternal:
194bbe33382f5365be3865ed1779147cb680f1d3Kay Sievers
f13b388f97bc3ba8db844bd3413d510e2466a0b6Kay Sievers* dbus:
f13b388f97bc3ba8db844bd3413d510e2466a0b6Kay Sievers - dbus --user
f13b388f97bc3ba8db844bd3413d510e2466a0b6Kay Sievers - natively watch for dbus-*.service symlinks (PENDING)
f13b388f97bc3ba8db844bd3413d510e2466a0b6Kay Sievers - allow specification of socket mode/umask when allocating DBusServer
f13b388f97bc3ba8db844bd3413d510e2466a0b6Kay Sievers - allow disabling of fd passing when connecting a AF_UNIX connection
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering - allow disabling of UID passing for AUTH EXTERNAL
c195956988799837b763ab1b9f078e5f0b7f26e6Kay Sievers - always pass cred data along each message
c195956988799837b763ab1b9f078e5f0b7f26e6Kay Sievers - teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
c195956988799837b763ab1b9f078e5f0b7f26e6Kay Sievers
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* fix alsa mixer restore to not print error when no config is stored
c195956988799837b763ab1b9f078e5f0b7f26e6Kay Sievers
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* make cryptsetup lower --iter-time
9ae9afce6f53a872f4b01b9be13daa75833bd59eLennart Poettering
18b754d345ecb0b15e369978aaffa72e9814b86aKay Sievers* patch kernel for xattr support in /dev, /proc/, /sys?
18b754d345ecb0b15e369978aaffa72e9814b86aKay Sievers
18b754d345ecb0b15e369978aaffa72e9814b86aKay Sievers* NTP: the kernel's 11-minutes-mode syncs the system time to the RTC, but only
18b754d345ecb0b15e369978aaffa72e9814b86aKay Sievers in an ~30 minutes window. It does not adjust larger differences. Find a way
18b754d345ecb0b15e369978aaffa72e9814b86aKay Sievers to tell the kernel, to always do a full time sync when the RTC is in UTC and
18b754d345ecb0b15e369978aaffa72e9814b86aKay Sievers we are in 11-minutes-mode. When we trust the system time to NTP we also want
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering the RTC to sync up.
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* kernel: add device_type = "fb", "fbcon" to class "graphics"
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* drop accountsservice's StandardOutput=syslog and Type=dbus fields
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* dbus upstream still refers to dbus.target and shouldn't
49f43d5f91a99b23f745726aa351d8f159774357Ville Skyttä
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* add "# export SYSTEMD_PAGER=" to bash login
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* /usr/bin/service should actually show the new command line
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* fedora: suggest auto-restart on failure, but not on success and not on coredump. also, ask people to think about changing the start limit logic. Also point people to RestartPreventExitStatus=, SuccessExitStatus=
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* fedora: F20: go timer units all the way, leave cron.daily for cron
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* neither pkexec nor sudo initialize environ[] from the PAM environment?
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it
3943231cfeb3d76dc4ec0b9f845c3f874593a9deLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart PoetteringRegularly:
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* look for close() vs. close_nointr() vs. close_nointr_nofail()
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* check for strerror(r) instead of strerror(-r)
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* %m in printf() instead of strerror(errno);
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* pahole
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* use secure_getenv() instead of getenv() where appropriate
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
439d6dfd12f58d7230bcae06d73b841eb3bc588aLennart Poettering* link up selected blog stories from man pages and unit files Documentation= fields
439d6dfd12f58d7230bcae06d73b841eb3bc588aLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart PoetteringScheduled for removal or fixing:
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering* xxxOverridable dependencies (probably: fix)
ea5943d3862cc690daa76e2ad336737407ec711cLennart Poettering