chiark / gitweb /
bus: connect directly via kdbus in sd_bus_open_system_container()
[elogind.git] / TODO
diff --git a/TODO b/TODO
index 8f9aabc232fd8d47b8ae7c15e5ef5dc687430e73..a4cffb3bb380812b40d3e6834a7c30759ad0a3d7 100644 (file)
--- a/TODO
+++ b/TODO
@@ -30,6 +30,8 @@ External:
 
 Features:
 
+* libsystemd-journal returns the object created as first param in sd_journal_new(), sd_bus_new() and suchlike as last...
+
 * cgroups:
   - implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
   - implement per-slice CPUFairScheduling=1 switch
@@ -45,9 +47,11 @@ Features:
   - add field to transient units that indicate whether systemd or somebody else saves/restores its settings, for integration with libvirt
   - ensure scope units may be started only a single time
 
-* switch to SipHash for hashmaps/sets?
+* code cleanup
+  - get rid of readdir_r/dirent_storage stuff, it's unnecessary on Linux
+  - we probably should replace the left-over uses of strv_append() and replace them by strv_push() or strv_extend()
 
-* general: get rid of readdir_r/dirent_storage stuff, it's unnecessary on Linux
+* switch to SipHash for hashmaps/sets?
 
 * when we detect low battery and no AC on boot, show pretty splash and refuse boot
 
@@ -71,8 +75,6 @@ Features:
 
 * Add a new Distribute=$NUMBER key to socket units that makes use of SO_REUSEPORT to distribute network traffic on $NUMBER instances
 
-* we probably should replace the left-over uses of strv_append() and replace them by strv_push() or strv_extend()
-
 * move config_parse_path_strv() out of conf-parser.c
 
 * After coming back from hibernation reset hibernation swap partition using the /dev/snapshot ioctl APIs
@@ -112,11 +114,8 @@ Features:
   ReadOnlyDirectories=... for whitelisting files for a service.
 
 * libsystemd-bus:
-  - default policy (allow uid == 0 and our own uid)
-  - access policy as vtable flag
   - when kdbus doesn't take our message without memfds, try again with memfds
   - implement translator service
-  - move to gvariant
   - implement monitor logic
   - properly map matches with well-known names against messages with unique names
   - when triggering property change events, allow a NULL strv indicate that all properties listed as such are send out as changed
@@ -129,6 +128,10 @@ Features:
     * priority queues
     * priority inheritance
   - sort out error codes for sd_bus_release_name(), distuingish: successful removal from foreign name, from non-existing name
+  - bug in kdbus: nameownerchange is not generated for names, only ids.
+  - kdbus: matches against source or destination pids for an "strace -p"-like feel. Problem: The PID info needs to be available in userspace too...
+  - kdbus: we need a way to distuingish messages we got due to monitoring from normal messages, since we want to bind methods only to the latter
+  - figure out what to do when fields in the kdbus header and in the payload header do not match
 
 * sd-event
   - allow multiple signal handlers per signal
@@ -136,8 +139,7 @@ Features:
     but do not return anything up to the event loop caller. Instead
     add parameter to sd_event_request_quit() to take retval. This way
     errors rippling upwards are the option, not the default
-  - child pid handling: first invoke waitid(WNOHANG) and call event handler, only afterwards reap the process
-  - native support for watchdog stuff
+  - event sources should not be able to keep the sd_event around unconditionally
 
 * in the final killing spree, detect processes from the root directory, and
   complain loudly if they have argv[0][0] == '@' set.
@@ -166,7 +168,6 @@ Features:
 * test/:
   - add 'set -e' to scripts in test/
   - make stuff in test/ work with separate output dir
-  - qemu wrapper script: http://www.spinics.net/lists/kvm/msg72389.html
 
 * systemctl delete x.snapshot leaves no trace in logs (at least at default level).