chiark / gitweb /
bus: fix issue with reference counting
[elogind.git] / TODO
diff --git a/TODO b/TODO
index 3005289dd8af22d07682a4e0da8371823fae99ed..bb07d92d3d7eb224ec5fc3e47e8804b51ee45444 100644 (file)
--- a/TODO
+++ b/TODO
@@ -17,6 +17,8 @@ Bugfixes:
 
   Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory. See system logs and 'systemctl status display-manager.service' for details.
 
+* systemctl --root=container/ set-default ... is totally borked.
+
 External:
 
 * ps should gain colums for slice
@@ -30,6 +32,18 @@ External:
 
 Features:
 
+* introduce bus call FreezeUnit(s, b), as well as "systemctl freeze
+  $UNIT" and "systemctl thaw $UNIT" as wrappers around this. The calls
+  should SIGSTOP all unit processes in a loop until all processes of
+  it are fully stopped. This can later be used for app management by
+  desktop UIs such as gnome-shell to freeze apps that are not visible
+  on screen, not unlike how job control works on the shell
+
+* machinectl bash completion is missing
+* busctl bash and zsh completions are outdated
+
+* Introduce PrivateDevices=yes/no which works like PrivateTmp= but for /dev setting up a tmpfs for it that only includes /dev/null, /dev/zero, /dev/random, /dev/urandom, but nothing else.
+
 * libsystemd-journal returns the object created as first param in sd_journal_new(), sd_bus_new() and suchlike as last...
 
 * cgroups:
@@ -84,8 +98,9 @@ Features:
 
 * refuse boot if /etc/os-release is missing or /etc/machine-id cannot be set up
 
-* given that logind/machined now let PID 1 do all nasty work, we can
-  probably reduce the capability set they retain substantially.
+* given that logind now lets PID 1 do all nasty work, we can
+  probably reduce the capability set it retains substantially.
+  (we need CAP_SYS_ADMIN for drmSetMaster(), so maybe not worth it)
 
 * btrfs raid assembly: some .device jobs stay stuck in the queue
 
@@ -101,14 +116,13 @@ Features:
   Maybe take a BSD lock at the disk device node and teach udev to
   check for that and suppress event handling.
 
-* document logic of auto/noauto and fail/nofail in fstab in systemd.mount or systemd-fstab-generator man page
-
 * something pulls in pcre as shared object dependency into our daemons such as hostnamed.
 
 * allow implementation of InaccessibleDirectories=/ plus
   ReadOnlyDirectories=... for whitelisting files for a service.
 
-* libsystemd-bus:
+* sd-bus:
+  - let the activator peek the peer connection with KDBUS_CMD_MSG_SRC and log it
   - when kdbus doesn't take our message without memfds, try again with memfds
   - implement monitor logic
   - see if we can drop more message validation on the sending side
@@ -126,6 +140,10 @@ Features:
        - NameLost/NameAcquired obsolete
        - GVariant
        - "const" properties (posted)
+  - port exit-on-idle logic to byebye ioctl
+  - make use of "drop" ioctl in pid 1 bus activation
+  - bus proxy: override unique id sender for messages from driver to match the well-known name
+  - bus driver: GetNameOwner() for "org.freedesktop.DBus" should return "org.freedesktop.DBus"
 
 * sd-event
   - allow multiple signal handlers per signal?
@@ -292,7 +310,6 @@ Features:
   - journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
   - Replace utmp, wtmp, btmp, and lastlog completely with journal
   - journalctl: instead --after-cursor= maybe have a --cursor=XYZ+1 syntax?
-  - journalctl: support -M to read journal of containers and determine journal directory from root directory of container
   - tmpfiles: when applying ownership to /run/log/journal, also do this for the journal fails contained in it
   - when a kernel driver logs in a tight loop, we should ratelimit that too.
   - journald: optionally, log debug messages to /run but everything else to /var
@@ -306,11 +323,9 @@ Features:
     hence doing this via signals is not going to work.
 
 * document:
-  - document that deps in [Unit] sections ignore Alias= fileds in
+  - 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 word splitting syntax for ExecStart= and friends
-  - document that units from /etc override those from /usr and /run
   - 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
@@ -340,7 +355,7 @@ Features:
   - rework wait filter to not require match callback
   - better error message if you run systemctl without systemd running
   - systemctl status output should should include list of triggering units and their status
-  - in systemctl list-timers show time trggering units ran last
+  - in systemctl list-timers show time triggering units ran last
 
 * unit install:
   - "systemctl mask" should find all names by which a unit is accessible
@@ -518,8 +533,6 @@ Features:
   - kill scsi_id
   - add trigger --subsystem-match=usb/usb_device device
 
-* cleanup syslog 'priority' vs. 'level' wording
-
 * 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
 
 * introduce mix of BindTo and Requisite
@@ -655,15 +668,13 @@ Features:
    - Check if Driver= is broken, or just my driver (bcma)
 
 * sd-rtnl:
-   - replace sd_rtnl_message_append() by type-safe versions
    - improve container support, and add support for entering containers when reading
    - add support for more attribute types
 
 * networkd:
-   - unify and clarify logging, also use proper structured log messages
-   - add [Route] sections
-   - add more keys to [Address] sections
-   - add DHCPv4 support (and, longer term, other kinds of dynamic config)
+   - add more keys to [Route] and [Address] sections
+   - add support for more DHCPv4 options (and, longer term, other kinds of dynamic config)
+   - allow opting out of receiving DNS servers over DHCPv4
    - add proper initrd support (in particular generate .network/.link files based on /proc/cmdline)
 
 External: