str_split_quoted() should return a real return code, so spawn_child can
report the failure properly.
+* When systemctl --host is used, underlying ssh connection can remain open.
+ bus_close does not kill children?
+
External:
* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
Features:
-* change default container location from /var/lib/container to /var/lib/machines
+* network-wait-online should support globbing for interfaces.
+
+* network-wait-online should have a configurable timeout, maybe as --timeout-usec=
+
+* The udev blkid built-in should expose a property that reflects
+ whether media was sensed in USB CF/SD card readers. This should then
+ be used to control SYSTEMD_READY=1/0 so that USB card readers aren't
+ picked up by systemd unless they contain a medium. This would mirror
+ the behaviour we already have for CD drives.
+
+* We should remove really old cruft from cdrom_id
+
+* nspawn: 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.
+
+* networkd/udev: implement SR_IOV configuration in .link files:
+ http://lists.freedesktop.org/archives/systemd-devel/2015-January/027451.html
+
+* When RLIMIT_NPROC is set from a unit file it currently always is set
+ for root, not for the user set in User=, which makes it
+ useless. After fixing this, 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.
+
+* logind: maybe allow configuration of the StopTimeout for session scopes
+
+* Set NoNewPriviliges= on all of our own services, where that makes sense
+
+* Rework systemctl's GetAll property parsing to use the generic bus_map_all_properties() API
+
+* rework journald sigbus stuff to use mutex
+
+* import-dkr: support tarsum checksum verification, if it becomes reality one day...
+
+* import-dkr: convert json bits to nspawn configuration
+
+* import: support import from local files, and export to local files
+
+* core/cgroup: support net_cls modules, and support automatically allocating class ids, then add support for making firewall changes depending on it, to implement a per-service firewall
+
+* introduce systemd-nspawn-ephemeral@.service, and hook it into "machinectl start" with a new --ephemeral switch
+
+* logind,machined: add generic catch-all polkit verbs for most privileged operations, similar to systemd itself
+
+* "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)
* nspawn: when start a container "foobar" look for its configuration in a file "foobar.nspawn" in /etc/systemd/nspawn/ as well as next to the actualy directory or image to boot
* Port various tools to make use of verbs.[ch], where applicable
-* Check all invocations of access() and consider turning them into laccess()
-
* "machinectl history"
* "machinectl diff"
* systemd-nspawn -x should support ephemeral instances of gpt images
+* move machinectl's mount and copy commands into machined
+
* hostnamectl: show root image uuid
* sysfs set api in libudev is not const
* port libmount hookup to use API's own inotify interface, as soon as that is table in libmount
-* journald: broken file systems are real (btrfs), we need to handle
- SIGBUS in some way if we cannot write or read from the disk.
- https://bugzilla.redhat.com/show_bug.cgi?id=1151848
-
* "systemctl preset-all" should probably order the unit files it
operates on lexicographically before starting to work, in order to
ensure deterministic behaviour if two unit files conflict (like DMs
desktop UIs such as gnome-shell to freeze apps that are not visible
on screen, not unlike how job control works on the shell
-* completions:
- - manager property enumeration was broken when systemd moved to /usr/lib/
-
* cgroups:
- implement per-slice CPUFairScheduling=1 switch
- handle jointly mounted controllers correctly
ReadOnlyDirectories=... for whitelisting files for a service.
* sd-bus:
+ - GetAllProperties() on a non-existing object does not result in a failure currently
- kdbus: process fd=-1 for incoming msgs
- - make dsrt happy, and change userspace header for kdbus to yyyyuta{tv}v
- - kdbus: PID/TID goes missing for method calls from outside the PID namespace?
- - kdbus: the kernel should not allow messages to be delivered that have a reply serial != 0, reply-expect unset, but no appropriate window
- - kdbus: timestamps on kernel's NameOwnerChanged messages?
- - kdbus' busnames.target should get pulled in by basic.target
- - Ignore .busname units on classic D-Bus boots, systemd-resolved cannot be started on kdbus
- without the active policy and should get a Wants=org.freedesktop.resolve1.busname to
- pull-in the policy.
- port to sd-resolve for connecting to TCP dbus servers
- kdbus: maybe add controlling tty metadata fields
- 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
- when kdbus does not take our message without memfds, try again with memfds
- - introduce sd_bus_emit_object_added()/sd_bus_emit_object_removed() that automatically includes the build-in interfaces in the list
- see if we can drop more message validation on the sending side
- add API to clone sd_bus_message objects
- make AddMatch calls on dbus1 transports async?
* teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
-* after all byte-wise realloc() is slow, even on glibc, so i guess we
- need manual exponential loops after all
-
* BootLoaderSpec: Clarify that the kernel has to be in $BOOT. Clarify
that the boot loader should be installed to the ESP. Define a way
how an installer can figure out whether a BLS compliant boot loader
- journal: add a setgid "systemd-journal" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
- journactl: support negative filtering, i.e. FOOBAR!="waldo",
and !FOOBAR for events without FOOBAR.
- - journal: send out marker messages every now and then, and immediately sync with fdatasync() afterwards, in order to have hourly guaranteed syncs.
+ - journal: store timestamp of journal_file_set_offline() int he header,
+ so it is possible to display when the file was last synced.
- 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.
- journal: find a way to allow dropping history early, based on priority, other rules
- journal: When used on NFS, check payload hashes
- - journal live copy, based on libneon (client) and libmicrohttpd (server)
- journald: add kernel cmdline option to disable ratelimiting for debug purposes
- refuse taking lower-case variable names in sd_journal_send() and friends.
- journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab is not
* nspawn:
- - bind mount read-only the cgroup tree higher than nspawn
- refuses to boot containers without /etc/machine-id (OK?), and with empty /etc/machine-id (not OK).
* cryptsetup:
* tmpfiles:
- apply "x" on "D" too (see patch from William Douglas)
+ - replace F with f+.
+ - instead of ignoring unknown fields, reject them.
* for services: do not set $HOME in services unless requested
- write more test cases
- implement and do duplicate address detection, see rfc 4862, 5.4.
- implement reconfigure support, see 5.3., 15.11. and 22.20.
- - implement information request, see 1.2. and 18.1.5.
- implement support for temporary adressess (IA_TA)
- implement dhcpv6 authentication
- investigate the usefulness of Confirm messages; i.e. are there any