chiark / gitweb /
shared/util: respect buffer boundary on incomplete escape sequences
[elogind.git] / TODO
diff --git a/TODO b/TODO
index cb760872af010299522a6d1f88b4cd39cb34f91f..5b742b08bdd140aeb5a5e250c016829688bb3348 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,11 +1,3 @@
-Preparations for 218:
-
-* port libmount hookup to use API's own inotify interface
-
-* Backport: git notes
-
-* cgroup delegation issues
-
 Bugfixes:
 
 * Should systemctl status \* work on all unit types, not just .service?
 Bugfixes:
 
 * Should systemctl status \* work on all unit types, not just .service?
@@ -14,8 +6,6 @@ Bugfixes:
   automount points even when the original .automount file did not exist
   anymore. Only the .mount unit was still around.
 
   automount points even when the original .automount file did not exist
   anymore. Only the .mount unit was still around.
 
-* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
-
 * ExecStart with unicode characters fails in strv_split_quoted:
 
           [Service]
 * ExecStart with unicode characters fails in strv_split_quoted:
 
           [Service]
@@ -30,8 +20,6 @@ External:
 
 * Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
 
 
 * Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
 
-* Fedora: post FPC ticket to move add %tmpfiles_create to the packaging guidelines
-
 * Fedora: move kernel image to /usr/lib/modules/, kernel-install will take care of populating /boot
 
 * Fedora: remove /etc/resolv.conf tmpfiles hack
 * Fedora: move kernel image to /usr/lib/modules/, kernel-install will take care of populating /boot
 
 * Fedora: remove /etc/resolv.conf tmpfiles hack
@@ -41,11 +29,68 @@ External:
 * When lz4 gets an API for lz4 command output, make use of it to
   compress coredumps in a way compatible with /usr/bin/lz4.
 
 * When lz4 gets an API for lz4 command output, make use of it to
   compress coredumps in a way compatible with /usr/bin/lz4.
 
+Release 219 preparations:
+
+* support mbr raw disk images in systemd-nspawn, so that we can boot
+  fedora cloud images unmodified (change suffix for search for files
+  .gpt → .raw).
+
+* dkr import hash verification
+
+* rework journald sigbus stuff to use mutex
+
+* create importd daemon, move "systemd-import" tool into machinectl
+
+* change default container location from /var/lib/container to /var/lib/machines
+
 Features:
 
 Features:
 
-* 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
+* bus-proxy: reload policy when PID 1 reports a reload
+
+* the dbus1 connection user id is actually the euid, not the uid, and creds should return that
+
+* add minimal NAT logic to networkd and nspawn. The former should be a simple NAT=yes|no|ipv4|ipv6 and expose a network on all other interfaces as NAT. The latter should get a "--port=" switch or so, which forwards one host port onto the container
+
+* introduce systemd-nspawn-ephemeral@.service, and hook it into "machinectl start" with a new --ephemeral switch
+
+* nspawn should lock container images while running off them
+
+* logind,machined: add generic catch-all polkit verbs for most priviliged operations, similar to systemd itself
+
+* "machinectl status" should also show internal logs of the container in question
+
+* nspawn: don't change superblock mount options from nspawn for cgroup hierarchies
+
+* "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"
+
+* "machinectl commit" that takes a writable snapshot of a tree, invokes a shell in it, and marks it read-only after use
+
+* "machinectl status" should show 10 most recent log lines of both the host logs of the unit of the machine, plus the logs generated in the machine
+
+* add transparent btrfs pool in a loopback file in /var if btrfs operations (such as systemd-import pull-dkr) are used and /var is not a btrfs file system
+
+* 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
+
+* Find a solution for SMACK capabilities stuff:
+  http://lists.freedesktop.org/archives/systemd-devel/2014-December/026188.html
+
+* port libmount hookup to use API's own inotify interface, as soon as that is table in libmount
 
 * "systemctl preset-all" should probably order the unit files it
   operates on lexicographically before starting to work, in order to
 
 * "systemctl preset-all" should probably order the unit files it
   operates on lexicographically before starting to work, in order to
@@ -58,7 +103,7 @@ Features:
 
 * systemd-journal-upload (or a new, related tool): allow pushing out
   journal messages onto the network in BSD syslog protocol,
 
 * systemd-journal-upload (or a new, related tool): allow pushing out
   journal messages onto the network in BSD syslog protocol,
-  continously. Default to some link-local IP mcast group, to make this
+  continuously. Default to some link-local IP mcast group, to make this
   useful as a one-stop debugging tool.
 
 * synchronize console access with BSD locks:
   useful as a one-stop debugging tool.
 
 * synchronize console access with BSD locks:
@@ -78,10 +123,6 @@ Features:
 
 * timedated should compensate on SetTime for the time spent in polkit
 
 
 * timedated should compensate on SetTime for the time spent in polkit
 
-* figure out what to do with libmount and utab?
-
-* We really should have a FOREACH macro to iterate through inotify events we read, similar to KDBUS_FOREACH_ITEM
-
 * figure out when we can use the coarse timers
 
 * sd-resolve: drop res_query wrapping, people should call via the bus to resolved instead
 * figure out when we can use the coarse timers
 
 * sd-resolve: drop res_query wrapping, people should call via the bus to resolved instead
@@ -109,8 +150,6 @@ Features:
 
 * systemd --user should issue sd_notify() upon reaching basic.target, not on becoming idle
 
 
 * systemd --user should issue sd_notify() upon reaching basic.target, not on becoming idle
 
-* configure.ac pretends dbus was optional but actually hardcodes use of dbus' pkg-config file to determine various dbus dirs such as policy and activation dirs
-
 * consider showing the unit names during boot up in the status output, not just the unit descriptions
 
 * dhcp: do we allow configuring dhcp routes on interfaces that are not the one we got the dhcp info from?
 * consider showing the unit names during boot up in the status output, not just the unit descriptions
 
 * dhcp: do we allow configuring dhcp routes on interfaces that are not the one we got the dhcp info from?
@@ -132,7 +171,10 @@ Features:
 
 * systemctl: if some operation fails, show log output?
 
 
 * systemctl: if some operation fails, show log output?
 
-* systemctl edit: add commented help text to the end, like git commit
+* systemctl edit:
+- allow creation of units from scratch
+- use equvalent of cat() to insert existing config as a comment, prepended with #.
+  Upon editor exit, lines with one # are removed, lines with two # are left with one #, etc.
 
 * refcounting in sd-resolve is borked
 
 
 * refcounting in sd-resolve is borked
 
@@ -304,19 +346,13 @@ Features:
   ReadOnlyDirectories=... for whitelisting files for a service.
 
 * sd-bus:
   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
   - 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
   - port to sd-resolve for connecting to TCP dbus servers
-  - kdbus: maybe add controlling tty and ppid metadata fields
+  - 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
   - 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?
   - 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?
@@ -563,12 +599,7 @@ Features:
 * currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab is not
 
 * nspawn:
 * 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).
   - refuses to boot containers without /etc/machine-id (OK?), and with empty /etc/machine-id (not OK).
-  - support taking a btrfs snapshot at startup and dropping it afterwards
-  - introduce machines.target to order after all nspawn instances
-  - systemd-nspawn@.service should fail if some nspawn arg is invalid, with Type=notify
-  - PID 1 doesn't apply nspawns devices cgroup policy
 
 * cryptsetup:
   - cryptsetup-generator: allow specification of passwords in crypttab itself
 
 * cryptsetup:
   - cryptsetup-generator: allow specification of passwords in crypttab itself
@@ -810,7 +841,7 @@ External:
 
 * zsh shell completion:
   - <command> <verb> -<TAB> should complete options, but currently does not
 
 * zsh shell completion:
   - <command> <verb> -<TAB> should complete options, but currently does not
-  - systemctl add-wants,add-requires, edit
+  - systemctl add-wants,add-requires
 
 
 Regularly:
 
 
 Regularly: