Bugfixes:
-* Should systemctl status \* work on all unit types, not just .service?
-
-* Dangling symlinks of .automount unit files in .wants/ directories, set up
- automount points even when the original .automount file did not exist
- anymore. Only the .mount unit was still around.
-
-* ExecStart with unicode characters fails in strv_split_extract:
-
- [Service]
- Environment=ONE='one' "TWO='two two' too" THREE=
- ExecStart=/bin/python3 -c 'import sys;print(sys.argv)' $ONE $TWO $THREE
+* copy.c: set the right chattrs before copying files and others after
External:
* Rearrange tests so that the various test-xyz.c match a specific src/basic/xyz.c again
-Features:
+* rework mount.c and swap.c to follow proper state enumeration/deserialization
+ semantics, like we do for device.c now
-* document specifiers systemd-sysusers understands in its man page (the way
- it's already documented in tmpfiles.d(5)' man page)
+* udev: drop "collect", it's nonsense
-* add O_TMPFILE support to copy_file_atomic()
-
-* nspawn: greater control over selinux label?
+Features:
-* sd-event: implement inotify events, as we can safely and robustly do that now
- for any inode without fearing confusion by inodes appearing at multiple
- places: we can open it with O_PATH first, then store its inode in a hash
- table, to recognize duplicate watches before creating (and thus corrupting
- pre-existing ones) them, and using /proc/self/fd/ to add it right after.
+* optionally, if a per-partition GPT flag is set for the root/home/… partitions
+ format the partition on next boot and unset the flag, in order to implement
+ factory reset. also, add a second flag that simply indicates whether such a
+ scheme is supported. then, add a tool (or maybe beef up systemd-dissect) to
+ show state of these flags, and optionally trigger such a factory reset on
+ next boot by setting the flag.
+
+* logind: maybe watch utmp asynchronously using inotify, and populate our own
+ tracked session metadata from the fields available therein. Why bother? Right
+ now, all "ssh" sessions will be tracked without their TTY by logind (which is
+ not just unfriendly to users as this means "loginctl session-status" shows
+ less information than "who" in many cases, but also breaks the IdleAction
+ logic, as we never can detect such sessions as idle, as we have no TTY to
+ watch). ssh sets the PAM_TTY field on its PAM sessions to "ssh" rather than
+ the actual pty, because the PAM session is opened early on for new
+ connections, but the PTY only registered much later (if at all). ssh writes
+ the utmp record only after a TTY is actually registered, hence we could use
+ this data then, and use it if it is available. Using utmp for this is ugly of
+ course, and watching things asynchronously even more so, but it should be
+ good enough for the idle detection logic at least.
+
+* maybe extend .path units to expose fanotify() per-mount change events
+
+* Add a "systemctl list-units --by-slice" mode or so, which rearranges the
+ output of "systemctl list-units" slightly by showing the tree structure of
+ the slices, and the units attached to them.
+
+* the a-posteriori stopping of units bound to units that disappeared logic
+ should be reworked: there should be a queue of units, and we should only
+ enqeue stop jobs from a defer event that processes queue instead of
+ right-away when we find a unit that is bound to one that doesn't exist
+ anymore. (similar to how the stop-unneeded queue has been reworked the same
+ way)
+
+* nspawn: make nspawn suitable for shell pipelines: instead of triggering a
+ hangup when input is finished, send ^D, which synthesizes an EOF. Then wait
+ for hangup or ^D before passing on the EOF.
+
+* When reloading configuration PID 1 should reset all its properties to the
+ original defaults before calling parse_config()
+
+* Add OnTimezoneChange= and OnTimeChange= stanzas to .timer units in order to
+ schedule events based on time and timezone changes.
-* the error paths in usbffs_dispatch_ep() leak memory
+* nspawn: greater control over selinux label?
* cgroups: figure out if we can somehow communicate in a cleaner way whether a
systemd instance not running in the cgroup root shall or shall not manage the
should be revisited to make clearer and also work if the payload systemd runs
with full privs and without userns.
+* hibernate/s2h: make this robust and safe to enable in Fedora by default.
+ Specifically:
+
+ 1. add resume_offset support to the resume code (i.e. support swap files
+ properly)
+ 2. check of swap is on weird storage and refuse if so
+ 3. add env-var based option to disable hibernation
+ 4. figure out what to do with swap-on-luks
+ 5. add autodetection of hibernation images, and add "noresume" to disable
+ this
+
+* portables: introduce a new unit file directory /etc/systemd/system.attached/
+ or so, where we attach portable services to
+
* cgroups: use inotify to get notified when somebody else modifies cgroups
owned by us, then log a friendly warning.
that our log messages could contain clickable links for example for unit
files and suchlike we operate on.
-* introduce a new SystemCallFilters= group called "@system-service" with a
- sensible default set for system services, then make use of them in portable
- profiles
-
* add support for "portablectl attach http://foobar.com/waaa.raw (i.e. importd integration)
* add attach --enable and attach --now (for attach+enable+start)
DECIMAL_STR_WIDTH should probably add an extra "-" into account for negative
numbers.
+* Check that users of inotify's IN_DELETE_SELF flag are using it properly, as
+ usually IN_ATTRIB is the right way to watch deleted files, as the former only
+ fires when a file is actually removed from disk, i.e. the link count drops to
+ zero and is not open anymore, while the latter happens when a file is
+ unlinked from any dir.
+
* port systemctl, systemd-inhibit, busctl, … over to format-table.[ch]'s table formatters
* pid1: lock image configured with RootDirectory=/RootImage= using the usual nspawn semantics while the unit is up