TODO revision 720652b30bf38f55aa52cb99e5bbaef0d6057c10
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart PoetteringBugfixes:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Should systemctl status \* work on all unit types, not just .service?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Dangling symlinks of .automount unit files in .wants/ directories, set up
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering automount points even when the original .automount file did not exist
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering anymore. Only the .mount unit was still around.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* ExecStart with unicode characters fails in strv_split_extract:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering [Service]
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering Environment=ONE='one' "TWO='two two' too" THREE=
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering ExecStart=/bin/python3 -c 'import sys;print(sys.argv)' $ONE $TWO $THREE
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* When systemctl --host is used, underlying ssh connection can remain open.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering bus_close does not kill children?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart PoetteringExternal:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* wiki: update journal format documentation for lz4 additions
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart PoetteringJanitorial Clean-ups:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* code cleanup: retire FOREACH_WORD_QUOTED, port to extract_first_word() loops instead
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* replace manual readdir() loops with FOREACH_DIRENT or FOREACH_DIRENT_ALL
4b357e15876b730343db08719c877fdb45b6ad42Michael Marineau
4b357e15876b730343db08719c877fdb45b6ad42Michael Marineau* Get rid of the last strerror() invocations in favour of %m and strerror_r()
4b357e15876b730343db08719c877fdb45b6ad42Michael Marineau
4b357e15876b730343db08719c877fdb45b6ad42Michael Marineau* Rearrange tests so that the various test-xyz.c match a specific src/basic/xyz.c again
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart PoetteringFeatures:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* cache sd_event_now() result from before the first iteration...
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* remove Capabilities=, after all AmbientCapabilities= and CapabilityBoundingSet= should be enough.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* support for the new copy_file_range() syscall
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add systemctl stop --job-mode=triggering that follows TRIGGERED_BY deps and adds them to the same transaction
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* coredump logic should use prlimit() to query RLIMIT_CORE of the dumpee and honour it
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
4b1b14a6a6acb1640596d5e9542829d32989d385Lennart Poettering* Add a MaxRuntimeSec= setting for service units (or units in general) to terminate units after they ran for a certain
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering amount of time
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Maybe add a way how users can "pin" units into memory, so that they are not subject to automatic GC?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* PID1: find a way how we can reload unit file configuration for
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek specific units only, without reloading the whole of systemd
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek* add an explicit parser for LimitNICE= and LimitRTPRIO= that verifies
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek the specified range and generates sane error messages for incorrect
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek specifications. Also, for LimitNICE= maybe introduce a syntax such
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek as "+5" or "-7" in order to make the limits more readable as they
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering are otherwise shifted by 20.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek* do something about "/control" subcgroups in the unified cgroup hierarchy
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* when we detect that there are waiting jobs but no running jobs, do something
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* push CPUAffinity= also into the "cpuset" cgroup controller (only after the cpuset controller got ported to the unified hierarchy)
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add a new command "systemctl revert" or so, that removes all dropin
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering snippets in /run and /etc, and all unit files with counterparts in
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering /usr, and thus undoes what "systemctl set-property" and "systemctl
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering edit" create. Maybe even add "systemctl revert -a" to do this for
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek all units.
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* PID 1 should send out sd_notify("WATCHDOG=1") messages (for usage in the --user mode, and when run via nspawn)
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* consider throwing a warning if a service declares it wants to be "Before=" a .device unit.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* there's probably something wrong with having user mounts below /sys,
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering as we have for debugfs. for exmaple, src/core/mount.c handles mounts
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering prefixed with /sys generally special.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2015-June/032962.html
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek* man: document that unless you use StandardError=null the shell >/dev/stderr won't work in shell scripts in services
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek* install: include generator dirs in unit file search paths
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek* rework C11 utf8.[ch] to use char32_t instead of uint32_t when referring
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering to unicode chars, to make things more expressive.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* fstab-generator: default to tmpfs-as-root if only usr= is specified on the kernel cmdline
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek
091526ab20485492124852dcf629787f35816df8Zbigniew Jędrzejewski-Szmek* docs: bring http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime up to date
091526ab20485492124852dcf629787f35816df8Zbigniew Jędrzejewski-Szmek
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* mounting and unmounting mount points manually with different source
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek devices will result in collected collected on all devices used.
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek http://lists.freedesktop.org/archives/systemd-devel/2015-April/030225.html
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add a job mode that will fail if a transaction would mean stopping
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering running units. Use this in timedated to manage the NTP service
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering state.
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek http://lists.freedesktop.org/archives/systemd-devel/2015-April/030229.html
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Maybe add support for the equivalent of "ethtool advertise" to .link files?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2015-April/030112.html
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* The udev blkid built-in should expose a property that reflects
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering whether media was sensed in USB CF/SD card readers. This should then
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering be used to control SYSTEMD_READY=1/0 so that USB card readers aren't
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering picked up by systemd unless they contain a medium. This would mirror
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering the behaviour we already have for CD drives.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek* networkd/udev: implement SR_IOV configuration in .link files:
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek http://lists.freedesktop.org/archives/systemd-devel/2015-January/027451.html
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Rework systemctl's GetAll property parsing to use the generic bus_map_all_properties() API
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* implement a per-service firewall based on net_cls
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Port various tools to make use of verbs.[ch], where applicable
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* hostnamectl: show root image uuid
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* sysfs set api in libudev is not const
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Find a solution for SMACK capabilities stuff:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2014-December/026188.html
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* "systemctl preset-all" should probably order the unit files it
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering operates on lexicographically before starting to work, in order to
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek ensure deterministic behaviour if two unit files conflict (like DMs
7384146530ac083efbef62b9ef5bb82c56565cd4Zbigniew Jędrzejewski-Szmek do, for example)
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* synchronize console access with BSD locks:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2014-October/024582.html
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* as soon as we have kdbus, and sender timestamps, revisit coalescing multiple parallel daemon reloads:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering http://lists.freedesktop.org/archives/systemd-devel/2014-December/025862.html
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* the install state probably shouldn't get confused by generated units, think dbus1/kdbus compat!
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* in systemctl list-unit-files: show the install value the presets would suggest for a service in a third column
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* figure out when we can use the coarse timers
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add "systemctl start -v foobar.service" that shows logs of a service
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering while the start command runs. This is non-trivial to do without
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering races though, since we should flush out all journal messages before
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering returning from the "systemctl stop".
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* firstboot: make it useful to be run immediately after yum --installroot to set up a machine. (most specifically, make --copy-root-password work even if /etc/passwd already exists
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add infrastructure to allocate dynamic/transient users and UID ranges, for use in user-namespaced containers, per-seat gdm login screens and gdm guest sessions
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* maybe add support for specifier expansion in user.conf, specifically DefaultEnvironment=
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* introduce systemd-timesync-wait.service or so to sync on an NTP fix?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* systemd --user should issue sd_notify() upon reaching basic.target, not on becoming idle
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* consider showing the unit names during boot up in the status output, not just the unit descriptions
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* maybe allow timer units with an empty Units= setting, so that they
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering can be used for resuming the system but nothing else.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* what to do about udev db binary stability for apps? (raw access is not an option)
ee530d8b73246f29781bd54a707ca75c7ef5a6cbLennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* maybe provide an API to allow migration of foreign PIDs into existing scopes.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* man: maybe use the word "inspect" rather than "introspect"?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* systemctl: if some operation fails, show log output?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* systemctl edit:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering- allow creation of units from scratch
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering- use equvalent of cat() to insert existing config as a comment, prepended with #.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering Upon editor exit, lines with one # are removed, lines with two # are left with one #, etc.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* exponential backoff in timesyncd when we cannot reach a server
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* timesyncd: add ugly bus calls to set NTP servers per-interface, for usage by NM
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* extract_many_words() should probably be used by a lot of code that
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering currently uses FOREACH_WORD and friends. For example, most conf
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering parsing callbacks should use it.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* merge ~/.local/share and ~/.local/lib into one similar /usr/lib and /usr/share....
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* systemd.show_status= should probably have a mode where only failed
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering units are shown.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add systemd.abort_on_kill or some other such flag to send SIGABRT instead of SIGKILL
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering (throughout the codebase, not only PID1)
4b1b14a6a6acb1640596d5e9542829d32989d385Lennart Poettering
4b1b14a6a6acb1640596d5e9542829d32989d385Lennart Poettering* resolved:
4b1b14a6a6acb1640596d5e9542829d32989d385Lennart Poettering - mDNS/DNS-SD
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - service registration
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - service/domain/types browsing
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - avahi compat
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - DNS-SD service registration from socket units
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - resolved should optionally register additional per-interface LLMNR
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering names, so that for the container case we can establish the same name
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering (maybe "host") for referencing the server, everywhere.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - enable DNSSEC by default
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - allow clients to request DNSSEC for a single lookup even if DNSSEC is off (?)
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* refcounting in sd-resolve is borked
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Add a new verb "systemctl top"
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add new gpt type for btrfs volumes
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* support empty /etc boots nicely:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - nspawn/gpt-generator: introduce new gpt partition type for /usr
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - fstab-generator: support systemd.volatile=yes|no|state on the kernel cmdline, too, similar to nspawn's --volatile=
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* generator that automatically discovers btrfs subvolumes, identifies their purpose based on some xattr on them.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* a way for container managers to turn off getty starting via $container_headless= or so...
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* figure out a nice way how we can let the admin know what child/sibling unit causes cgroup membership for a specific unit
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* mount_cgroup_controllers(): symlinks need to get the label applied
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* For timer units: add some mechanisms so that timer units that trigger immediately on boot do not have the services
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering they run added to the initial transaction and thus confuse Type=idle.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Run most system services with cgroupfs read-only and procfs with a more secure mode (doesn't work, since the hidepid= option is per-pid-namespace, not per-mount)
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add bus api to query unit file's X fields.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* gpt-auto-generator:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - Support LUKS for root devices
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - Define new partition type for encrypted swap? Support probed LUKS for encrypted swap?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - Make /home automount rather than mount?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add generator that pulls in systemd-network from containers when
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering CAP_NET_ADMIN is set, more than the loopback device is defined, even
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering when it is otherwise off
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* MessageQueueMessageSize= and RLimitFSIZE= (and suchlike) should use parse_iec_size().
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* "busctl status" works only as root on dbus1, since we cannot read
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering /proc/$PID/exe
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* implement Distribute= in socket units to allow running multiple
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering service instances processing the listening socket, and open this up
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering for ReusePort=
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* socket units: support creating sockets in different namespace,
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering opening it up for JoinsNamespaceOf=. This would require to fork off
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering a tiny process that joins the namespace and creates/binds the socket
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering and passes this back to PID1 via SCM_RIGHTS. This also could be used
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering to allow Chown/chgrp on sockets without requiring NSS in PID 1.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* New service property: maximum CPU and wallclock runtime for a service
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* introduce bus call FreezeUnit(s, b), as well as "systemctl freeze
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering $UNIT" and "systemctl thaw $UNIT" as wrappers around this. The calls
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering should SIGSTOP all unit processes in a loop until all processes of
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering it are fully stopped. This can later be used for app management by
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering desktop UIs such as gnome-shell to freeze apps that are not visible
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering on screen, not unlike how job control works on the shell
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* cgroups:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - implement per-slice CPUFairScheduling=1 switch
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - handle jointly mounted controllers correctly
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - introduce high-level settings for RT budget, swappiness
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - how to reset dynamically changed unit cgroup attributes sanely?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - when reloading configuration, apply new cgroup configuration
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - when recursively showing the cgroup hierarchy, optionally also show
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering the hierarchies of child processes
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* transient units:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - add field to transient units that indicate whether systemd or somebody else saves/restores its settings, for integration with libvirt
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - ensure scope units may be started only a single time
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* Automatically configure swap partition to use for hibernation by looking for largest swap partition on the root disk?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* when we detect low battery and no AC on boot, show pretty splash and refuse boot
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* libsystemd-journal, libsystemd-login, libudev: add calls to easily attach these objects to sd-event event loops
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* be more careful what we export on the bus as (usec_t) 0 and (usec_t) -1
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* unify dispatch table in systemctl_main() and friends
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek* rfkill,backlight: we probably should run the load tools inside of the udev rules so that the state is properly initialized by the time other software sees it
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* After coming back from hibernation reset hibernation swap partition using the /dev/snapshot ioctl APIs
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* If we try to find a unit via a dangling symlink, generate a clean
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering error. Currently, we just ignore it and read the unit from the search
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering path anyway.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* refuse boot if /etc/os-release is missing or /etc/machine-id cannot be set up
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* btrfs raid assembly: some .device jobs stay stuck in the queue
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek* make sure gdm does not use multi-user-x but the new default X configuration file, and then remove multi-user-x from systemd
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* man: the documentation of Restart= currently is very misleading and suggests the tools from ExecStartPre= might get restarted.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* load .d/*.conf dropins for device units
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* allow implementation of InaccessibleDirectories=/ plus
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering ReadOnlyDirectories=... for whitelisting files for a service.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* sd-bus:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - EBADSLT handling
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - GetAllProperties() on a non-existing object does not result in a failure currently
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - kdbus: process fd=-1 for incoming msgs
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - port to sd-resolve for connecting to TCP dbus servers
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - kdbus: maybe add controlling tty metadata fields
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - see if we can introduce a new sd_bus_get_owner_machine_id() call to retrieve the machine ID of the machine of the bus itself
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - when kdbus does not take our message without memfds, try again with memfds
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - see if we can drop more message validation on the sending side
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - add API to clone sd_bus_message objects
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - make AddMatch calls on dbus1 transports async?
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek - kdbus: matches against source or destination pids for an "strace -p"-like feel. Problem: The PID info needs to be available in userspace too...
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek - longer term: priority inheritance
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek - dbus spec updates:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - kdbus mapping
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek - NameLost/NameAcquired obsolete
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek - GVariant
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - path escaping
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - update systemd.special(7) to mention that dbus.socket is only about the compatibility socket now
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - test bloom filter generation indexes
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - bus-proxy: when passing messages from kdbus, make sure we properly
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering handle the case where a large number of fds is appended that we
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering cannot pass into sendmsg() of the AF_UNIX sokcet (which only accepts
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering 253 messages)
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - kdbus: introduce a concept of "send-only" connections
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - kdbus: add counter for refused unicast messages that is passed out via the RECV ioctl. SImilar to the counter for dropped multicast messages we already have.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* sd-event
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - allow multiple signal handlers per signal?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - document chaining of signal handler for SIGCHLD and child handlers
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - define more intervals where we will shift wakeup intervals around in, 1h, 6h, 24h, ...
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - generate a failure of a default event loop is executed out-of-thread
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - maybe add support for inotify events
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* in the final killing spree, detect processes from the root directory, and
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering complain loudly if they have argv[0][0] == '@' set.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering https://bugzilla.redhat.com/show_bug.cgi?id=961044
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* investigate endianness issues of UUID vs. GUID
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering should be able to safely try another attempt when the bus call LoadUnit() is invoked.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add a pam module that passes the hdd passphrase into the PAM stack and then expires it, for usage by gdm auto-login.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* add a pam module that on password changes updates any LUKS slot where the password matches
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* maybe add a generator that looks for "systemd.run=" on the kernel cmdline for container usercases...
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* cgtop: make cgtop useful in a container
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* test/:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - add 'set -e' to scripts in test/
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - make stuff in test/ work with separate output dir
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* seems that when we follow symlinks to units we prefer the symlink
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering destination path over /etc and /usr. We should not do that. Instead
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering /etc should always override /run+/usr and also any symlink
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering destination.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* when isolating, try to figure out a way how we implicitly can order
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering all units we stop before the isolating unit...
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* BootLoaderSpec: Clarify that the kernel has to be in $BOOT. Clarify
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering that the boot loader should be installed to the ESP. Define a way
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering how an installer can figure out whether a BLS compliant boot loader
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering is installed.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* think about requeuing jobs when daemon-reload is issued? usecase:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering the initrd issues a reload after fstab from the host is accessible
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering and we might want to requeue the mounts local-fs acquired through
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering that automatically.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* systemd-inhibit: make taking delay locks useful: support sending SIGINT or SIGTERM on PrepareForSleep()
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* remove any syslog support from log.c -- we probably cannot do this before split-off udev is gone for good
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* shutdown logging: store to EFI var, and store to USB stick?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* think about window-manager-run-as-user-service problem: exit 0 → activate shutdown.target; exit != 0 → restart service
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* merge unit_kill_common() and unit_kill_context()
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* introduce ExecCondition= in services
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* EFI:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - honor language efi variables for default language selection (if there are any?)
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - honor timezone efi variables for default timezone selection (if there are any?)
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - change bootctl to be backed by systemd-bootd to control temporary and persistent default boot goal plus efi variables
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* maybe do not install getty@tty1.service symlink in /etc but in /usr?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* print a nicer explanation if people use variable/specifier expansion in ExecStart= for the first word
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* mount: turn dependency information from /proc/self/mountinfo into dependency information between systemd units.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* logind:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - logind: optionally, ignore idle-hint logic for autosuspend, block suspend as long as a session is around
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - When we update the kernel all kind of hibernation should be prohibited until shutdown/reboot
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - logind: wakelock/opportunistic suspend support
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - Add pretty name for seats in logind
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - logind: allow showing logout dialog from system?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - we should probably handle SIGTERM/SIGINT to not leave dot files around, just in case
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - session scopes/user unit: add RequiresMountsFor for the home directory of the user
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - add Suspend() bus calls which take timestamps to fix double suspend issues when somebody hits suspend and closes laptop quickly.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - if pam_systemd is invoked by su from a process that is outside of a
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering any session we should probably just become a NOP, since that's
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering usually not a real user session but just some system code that just
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering needs setuid().
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - logind: make the Suspend()/Hibernate() bus calls wait for the for
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering the job to be completed. before returning, so that clients can wait
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering for "systemctl suspend" to finish to know when the suspending is
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering complete.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - logind: when the power button is pressed short, just popup a
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering logout dialog. If it is pressed for 1s, do the usual
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering shutdown. Inspiration are Macs here.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - expose "Locked" property on logind sesison objects
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - given that logind now lets PID 1 do all nasty work, we can
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering probably reduce the capability set it retains substantially.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering (we need CAP_SYS_ADMIN for drmSetMaster(), so maybe not worth it)
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - expose orientation sensors and tablet mode through logind
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - maybe allow configuration of the StopTimeout for session scopes
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - rename session scope so that it includes the UID. THat way
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering the session scope can be arranged freely in slices and we don't have
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering make assumptions about their slice anymore.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - follow PropertiesChanged state more closely, to deal with quick logouts and
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering relogins
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
c51cf05646a11c65daf65c1123c77efb068f4f7bZbigniew Jędrzejewski-Szmek
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* service: watchdog logic: for testing purposes allow ping, but do not require pong
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering* journal:
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - consider introducing implicit _TTY= + _PPID= + _EUID= + _EGID= + _FSUID= + _FSGID= fields
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - import and delete pstore filesystem content at startup
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journald: also get thread ID from client, plus thread name
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - add API to close/reopen/get fd for journal client fd in libsystemd-journal.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - fallback to /dev/log based logging in libsystemd-journal, if we cannot log natively?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - declare the local journal protocol stable in the wiki interface chart
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journald: when dropping msgs due to ratelimit make sure to write
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering "dropped %u messages" not only when we are about to print the next
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering message that works, but alraedy after a short tiemout
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - check if we can make journalctl by default use --follow mode inside of less if called without args?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - maybe add API to send pairs of iovecs via sd_journal_send
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journal: when writing journal auto-rotate if time jumps backwards
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journal: add a setgid "systemd-journal" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journactl: support negative filtering, i.e. FOOBAR!="waldo",
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering and !FOOBAR for events without FOOBAR.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journal: store timestamp of journal_file_set_offline() int he header,
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering so it is possible to display when the file was last synced.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart 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.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journal: find a way to allow dropping history early, based on priority, other rules
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journal: When used on NFS, check payload hashes
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journald: add kernel cmdline option to disable ratelimiting for debug purposes
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - refuse taking lower-case variable names in sd_journal_send() and friends.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journal: deal nicely with byte-by-byte copied files, especially regards header
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - Replace utmp, wtmp, btmp, and lastlog completely with journal
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journalctl: instead --after-cursor= maybe have a --cursor=XYZ+1 syntax?
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - when a kernel driver logs in a tight loop, we should ratelimit that too.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journald: optionally, log debug messages to /run but everything else to /var
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journald: when we drop syslog messages because the syslog socket is
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering full, make sure to write how many messages are lost as first thing
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek to syslog when it works again.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journald: make sure ratelimit is actually really per-service with the new cgroup changes
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - change systemd-journal-flush into a service that stays around during
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering boot, and causes the journal to be moved back to /run on shutdown,
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek so that we do not keep /var busy. This needs to happen synchronously,
d98cc1c019651b895464161072894a02cc43daabZbigniew Jędrzejewski-Szmek hence doing this via signals is not going to work.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - optionally support running journald from the command line for testing purposes in external projects
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journald: allow per-priority and per-service retention times when rotating/vacuuming
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journald: make use of uid-range.h to managed uid ranges to split
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering journals in.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - journalctl: add the ability to look for the most recent process of a binary. journalctl /usr/bin/X11 --pid=-1 or so...
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering - improve journalctl performance by loading journal files
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering lazily. Encode just enough information in the file name, so that we
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering do not have to open it to know that it is not interesting for us, for
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering the most common operations.
- journal-or-kmsg is currently broken? See reverted
commit 4a01181e460686d8b4a543b1dfa7f77c9e3c5ab8.
- man: document that corrupted journal files is nothing to act on
- rework journald sigbus stuff to use mutex
- Set RLIMIT_NPROC for systemd-journal-xyz, and all other of our
services that run under their own user ids, and use User= (but only
in a world where userns is ubiquitous since otherwise we cannot
invoke those daemons on the host AND in a container anymore). Also,
if LimitNPROC= is used without User= we should warn and refuse
operation.
- journalctl --verify: don't show files that are currently being
written to as FAIL, but instead show that their are being written to.
- add journalctl -H that talks via ssh to a remote peer and passes through
binary logs data
- change journalctl -M to acquire fd to journal directory via machined, and
then operate on that via openat() instead of absolute paths
- add a version of --merge which also merges /var/log/journal/remote
- log accumulated resource usage after each service invocation
- journalctl: -m should access container journals directly by enumerating
them via machined, and also watch containers coming and going.
Benefit: nspawn --ephemeral would start working nicely with the journal.
- assign MESSAGE_ID to log messages about failed services
* document:
- document that deps in [Unit] sections ignore Alias= fields in
[Install] units of other units, unless those units are disabled
- man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
- document the exit codes when services fail before they are exec()ed
- document that service reload may be implemented as service reexec
- document in wiki how to map ical recurrence events to systemd timer unit calendar specifications
- add a man page containing packaging guidelines and recommending usage of things like Documentation=, PrivateTmp=, PrivateNetwork= and ReadOnlyDirectories=/etc /usr.
- document systemd-journal-flush.service properly
- documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
- man: document the very specific env the shutdown drop-in tools live in
- man: add more examples to man pages
- man: maybe sort directives in man pages, and take sections from --help and apply them to man too
* systemctl:
- systemctl list-jobs - show dependencies
- add systemctl switch to dump transaction without executing it
- Add a verbose mode to "systemctl start" and friends that explains what is being done or not done
- "systemctl disable" on a static unit prints no message and does
nothing. "systemctl enable" does nothing, and gives a bad message
about it. Should fix both to print nice actionable messages.
- print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
- add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
- systemctl enable: fail if target to alias into does not exist? maybe show how many units are enabled afterwards?
- systemctl: "Journal has been rotated since unit was started." message is misleading
- better error message if you run systemctl without systemd running
- systemctl status output should should include list of triggering units and their status
* unit install:
- "systemctl mask" should find all names by which a unit is accessible
(i.e. by scanning for symlinks to it) and link them all to /dev/null
- systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so)
* timer units:
- timer units should get the ability to trigger when:
o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
o DST changes
- Support 2012-02~4 as syntax for specifying the fourth to last day of the month.
- calendarspec: support value ranges with ".." notation. Example: 2013-4..8-1
- Modulate timer frequency based on battery state
* add libsystemd-password or so to query passwords during boot using the password agent logic
* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
* on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel
* make repeated alt-ctrl-del presses printing a dump, or even force a reboot without
waiting for the timeout
* hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ...
* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab is not
* nspawn:
- to allow "linking" of nspawn containers, extend --network-bridge= so
that it can dynamically create bridge interfaces that are refcounted
by the containers on them. For each group of containers to link together
- refuses to boot containers without /etc/machine-id (OK?), and with empty
/etc/machine-id (not OK).
- nspawn -x should support ephemeral instances of gpt images
- emulate /dev/kmsg using CUSE and turn off the syslog syscall
with seccomp. That should provide us with a useful log buffer that
systemd can log to during early boot, and disconnect container logs
from the kernel's logs.
- as soon as networkd has a bus interface, hook up --network-interface=,
--network-bridge= with networkd, to trigger netdev creation should an
interface be missing
- don't copy /etc/resolv.conf from host into container unless we are in
shared-network mode
- a nice way to boot up without machine id set, so that it is set at boot
automatically for supporting --ephemeral. Maybe hash the host machine id
together with the machine name to generate the machine id for the container
- fix logic always print a final newline on output.
https://github.com/systemd/systemd/pull/272#issuecomment-113153176
- should optionally support receiving WATCHDOG=1 messages from its payload
PID 1...
- should send out sd_notify("WATCHDOG=1") messages
- optionally automatically add FORWARD rules to iptables whenever nspawn is
running, remove them when shut down.
- add a logic for cleaning up read-only, hidden container images in
/var/lib/machines that are not ancestors of any non-hidden containers
- Improve error message when --bind= is used on a non-existing source
directory
- maybe make copying of /etc/resolv.conf optional, and skip it if --read-only
is used
* machined:
- "machinectl list" should probably show columns for OS version and IP
addresses
- add an API so that libvirt-lxc can inform us about network interfaces being
removed or added to an existing machine
- "machinectl migrate" or similar to copy a container from or to a
difference host, via ssh
- introduce systemd-nspawn-ephemeral@.service, and hook it into
"machinectl start" with a new --ephemeral switch
- "machinectl status" should also show internal logs of the container in
question
- "machinectl list-images" should show os-release data, as well as
machine-info data (including deployment level)
- "machinectl history"
- "machinectl diff"
- "machinectl commit" that takes a writable snapshot of a tree, invokes a
shell in it, and marks it read-only after use
* importd:
- generate a nice warning if mkfs.btrfs is missing
* cryptsetup:
- cryptsetup-generator: allow specification of passwords in crypttab itself
- move cryptsetup key caching into kernel keyctl?
https://bugs.freedesktop.org/show_bug.cgi?id=54982
- support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
https://bugs.freedesktop.org/show_bug.cgi?id=54712
* create /sbin/init symlinks from the build system
* MountFlags=shared acts as MountFlags=slave right now.
* properly handle loop back mounts via fstab, especially regards to fsck/passno
* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
* rename "userspace" to "core-os"
* udev:
- move to LGPL
- kill scsi_id
- add trigger --subsystem-match=usb/usb_device device
- reimport udev db after MOVE events for devices without dev_t
* 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
* There's currently no way to cancel fsck (used to be possible via C-c or c on the console)
* add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/
* coredump:
- save coredump in Windows/Mozilla minidump format
- move PID 1 segfaults to /var/lib/systemd/coredump?
- make the handler check /proc/$PID/rlimits for RLIMIT_CORE,
and supress coredump if turned off. Then change RLIMIT_CORE to
infinity by default for all services. This then allows per-service
control of coredumping.
* support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting)
* default to actual 32-bit PIDs, via /proc/sys/kernel/pid_max
* be able to specify a forced restart of service A where service B depends on, in case B
needs to be auto-respawned?
* tmpfiles:
- apply "x" on "D" too (see patch from William Douglas)
- replace F with f+.
- instead of ignoring unknown fields, reject them.
- creating new directories/subvolumes/fifos/device nodes
should not follow symlinks. None of the other adjustment or creation
calls follow symlinks.
* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
* verify that the AF_UNIX sockets of a service in the fs still exist
when we start a service in order to avoid confusion when a user
assumes starting a service is enough to make it accessible
* Make it possible to set the keymap independently from the font on
the kernel cmdline. Right now setting one resets also the other.
* and a dbus call to generate target from current state
* write blog stories about:
- hwdb: what belongs into it, lsusb
- enabling dbus services
- status update
- how to make changes to sysctl and sysfs attributes
- remote access
- how to pass throw-away units to systemd, or dynamically change properties of existing units
- testing with Harald's awesome test kit
- auto-restart
- how to develop against journal browsing APIs
- the journal HTTP iface
- non-cgroup resource management
- dynamic resource management with cgroups
- refreshed, longer missions statement
- calendar time events
- init=/bin/sh vs. "emergency" mode, vs. "rescue" mode, vs. "multi-user" mode, vs. "graphical" mode, and the debug shell
- how to create your own target
- instantiated apache, dovecot and so on
- hooking a script into various stages of shutdown/rearly booot
* investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
* dot output for --test showing the 'initial transaction'
* fingerprint.target, wireless.target, gps.target, netdevice.target
* pid1:
- .timer units should optionally support CLOCK_BOOTTIME in addition to CLOCK_MONOTONIC
- When logging about multiple units (stopping BoundTo units, conflicts, etc.),
log both units as UNIT=, so that journalctl -u triggers on both.
- generate better errors when people try to set transient properties
that are not supported...
http://lists.freedesktop.org/archives/systemd-devel/2015-February/028076.html
- maybe introduce WantsMountsFor=? Usecase:
http://lists.freedesktop.org/archives/systemd-devel/2015-January/027729.html
- recreate systemd's D-Bus private socket file on SIGUSR2
- GC unreferenced jobs (such as .device jobs)
- move PAM code into its own binary
- when we automatically restart a service, ensure we restart its rdeps, too.
- for services: do not set $HOME in services unless requested
- hide PAM options in fragment parser when compile time disabled
- Support --test based on current system state
- 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().
- after deserializing sockets in socket.c we should reapply sockopts and things
- drop PID 1 reloading, only do reexecing (difficult: Reload()
currently is properly synchronous, Reexec() is weird, because we
cannot delay the response properly until we are back, so instead of
being properly synchronous we just keep open the fd and close it
when done. That means clients do not get a successful method reply,
but much rather a disconnect on success.
- when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
- when a bus name of a service disappears from the bus make sure to queue further activation requests
* unit files:
- allow port=0 in .socket units
- maybe introduce ExecRestartPre=
- add ReloadSignal= for configuring a reload signal to use
- implement Register= switch in .socket units to enable registration
in Avahi, RPC and other socket registration services.
- allow Type=simple with PIDFile=
https://bugzilla.redhat.com/show_bug.cgi?id=723942
- allow writing multiple conditions in unit files on one line
- load-fragment: when loading a unit file via a chain of symlinks
verify that it is not masked via any of the names traversed.
- introduce Type=pid-file
- ExecOnFailure=/usr/bin/foo
- introduce mix of BindTo and Requisite
- add a concept of RemainAfterExit= to scope units
- Set NoNewPrivileges= on all of our own services, where that makes sense
- Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely
- consider adding RuntimeDirectoryUser= + RuntimeDirectoryGroup=
* systemd-python:
- figure out a simple way to wait for journal events in a way that
works with ^C
- add documentation to systemd.daemon
* bootchart:
- plot per-process IO utilization
- group processes based on service association (cgroups)
- document initcall_debug
- kernel cmdline "bootchart" option for simplicity?
* udev-link-config:
- Make sure ID_PATH is always exported and complete for
network devices where possible, so we can safely rely
on Path= matching
- check MTUBytes parsing (expecting size_t but we are using unsigned)
* sd-rtnl:
- add support for more attribute types
- inbuilt piping support (essentially degenerate async)? see loopback-setup.c and other places
* networkd:
- add more keys to [Route] and [Address] sections
- add support for more DHCPv4 options (and, longer term, other kinds of dynamic config)
- add proper initrd support (in particular generate .network/.link files based on /proc/cmdline)
- add reduced [Link] support to .network files
- add Scope= parsing option for [Network]
- properly handle routerless dhcp leases
- add more attribute support for SIT tunnel
- work with non-Ethernet devices
- add support for more bond options
- dhcp: do we allow configuring dhcp routes on interfaces that are not the one we got the dhcp info from?
- add LLDP client side support
- the DHCP lease data (such as NTP/DNS) is still made available when
a carrier is lost on a link. It should be removed instantly.
- expose in the API the following bits:
- option 15, domain name and/or option 119, search list
- option 12, host name and/or option 81, fqdn
- option 123, 144, geolocation
- option 252, configure http proxy (PAC/wpad)
- provide a way to define a per-network interface default metric value
for all routes to it. possibly a second default for DHCP routes.
- allow Name= to be specified repeatedly in the [Match] section. Maybe also
support Name=foo*|bar*|baz ?
- duplicate address check for static IPs (like ARPCHECK in network-scripts)
- allow DUID/IAID to be customized, see issue #394.
- support configuration option for TSO (tcp segmentation offload)
- whenever uplink info changes, make DHCP server send out FORCERENEW
* networkd-wait-online:
- make operstates to wait for configurable?
* dhcp:
- figure out how much we can increase Maximum Message Size
- support RFC4702 (pass FQDN)
* dhcp6:
- add functions to set previously stored IPv6 addresses on startup and get
them at shutdown; store them in client->ia_na
- write more test cases
- implement reconfigure support, see 5.3., 15.11. and 22.20.
- implement support for temporary adressess (IA_TA)
- implement dhcpv6 authentication
- investigate the usefulness of Confirm messages; i.e. are there any
situations where the link changes without any loss in carrier detection
or interface down
- some servers don't do rapid commit without a filled in IA_NA, verify
this behavior
External:
* dbus:
- natively watch for dbus-*.service symlinks (PENDING)
- teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
* fix alsa mixer restore to not print error when no config is stored
* make cryptsetup lower --iter-time
* patch kernel for xattr support in /dev, /proc/, /sys?
* kernel: add device_type = "fb", "fbcon" to class "graphics"
* drop accountsservice's StandardOutput=syslog and Type=dbus fields
* dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id
* /usr/bin/service should actually show the new command line
* 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=
* fedora: F20: go timer units all the way, leave cron.daily for cron
* neither pkexec nor sudo initialize environ[] from the PAM environment?
* fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it
* register catalog database signature as file magic
* zsh shell completion:
- <command> <verb> -<TAB> should complete options, but currently does not
- systemctl add-wants,add-requires
Regularly:
* look for close() vs. close_nointr() vs. close_nointr_nofail()
* check for strerror(r) instead of strerror(-r)
* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
* pahole
* set_put(), hashmap_put() return values check. i.e. == 0 does not free()!
* use secure_getenv() instead of getenv() where appropriate
* link up selected blog stories from man pages and unit files Documentation= fields