chiark / gitweb /
service: if StandardInput=socket and StandardOutput=inherit imply socket for output...
[elogind.git] / TODO
1 Bugfixes:
2
3 * swap units that are activated by one name but shown in the kernel under another are semi-broken
4
5 * NM should pull in network.target (PENDING)
6   https://bugzilla.redhat.com/show_bug.cgi?id=692008
7
8 * make anaconda write timeout=0 for encrypted devices
9
10 * service: pid file reading after reload doesn't work, since we don't reset the pid variable
11
12 * make sure timeouts are applied to Type=oneshot services.
13
14 * Dangling symlinks of .automount unit files in .wants/ directories, set up
15   automount points even when the original .automount file did not exist
16   anymore. Only the .mount unit was still around.
17
18 Features:
19
20 * add an option to make mounts private/shareable and so on, enable this for root by default
21
22 * https://bugzilla.redhat.com/show_bug.cgi?id=727068
23
24 * internal restart counter for units (focus on auto-respawn)
25
26 * finer-grained auto-respawn settings (rate-limit)
27
28 * be able to specify a forced restart of service A where service B depends on, in case B
29   needs to be auto-respawned?
30
31 * Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
32
33 * introduce sd_log_open() to create a connection to the syslog bridge via sd-daemon.h
34
35 * when a bus name of a service disappears from the bus make sure to queue further activation requests
36
37 * something like ConditionExec= or ExecStartPre= without failure state
38
39 * service restart retry configuration
40
41 * tmpfiles: apply "x" on "D" too (see patch from William Douglas)
42 * tmpfiles: support generation of char/block devices, symlinks and one-line files (think sysfs)
43
44 * Introduce ControlGroupPersistant=yes to set +t on the tasks file when creating the cgroup
45
46 * don't set $HOME in services unless requested
47
48 * remove hacks in vala code and require libnotify 0.7
49
50 * hide PAM/TCPWrap options in fragment parser when compile time disabled
51
52 * when we automatically restart a service, ensure we retsart its rdeps, too.
53
54 * allow Type=simple with PIDFile=
55   https://bugzilla.redhat.com/show_bug.cgi?id=723942
56
57 * move PAM code into its own binary
58
59 * warn if the user stops a service but not its associated socket
60
61 * logind: spawn user@..service on login
62
63 * logind: non-local X11 server handling
64
65 * logind: use sysfs path in device hash table instead of sysname, as soon as fb driver is fixed
66
67 * implement Register= switch in .socket units to enable registration
68   in Avahi, RPC and other socket registration services.
69
70 * make sure people don't leave processes around after ExecStartPre=
71
72 * make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
73
74 * readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
75
76 * readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
77
78 * support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1)
79
80 * support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
81
82 * verify that the AF_UNIX sockets of a service in the fs still exist
83   when we start a service in order to avoid confusion when a user
84   assumes starting a service is enough to make it accessible
85
86 * Make it possible to set the keymap independently from the font on
87   the kernel cmdline. Right now setting one resets also the other.
88
89 * move nss-myhostname into systemd
90
91 * and a dbus call to generate target from current state
92
93 * detect LXC with $container=lxc
94
95 * drop /.readahead on bigger upgrades with yum
96
97 * add inode nr check to readahead to suppress preloading changed files
98
99 * add support for /bin/mount -s
100
101 * GC unreferenced jobs (such as .device jobs)
102
103 * cgroup_notify_empty(): recursively check groups up the tree, too
104
105 * when failing to start a service due to ratelimiting, try again later, if restart=always is set
106
107 * write blog stories about:
108   - enabling dbus services
109   - status update
110   - how to make changes to sysctl and sysfs attributes
111   - remote access
112   - cgroup best pratices to avoid stepping on each others toes
113   - how to pass throw-away units to systemd, or dynamically change properties of existing units
114   - how to integrate cgconfig and suchlike with systemd
115   - security properties
116   - xinetd conversion
117   - details of instantiated @.service setups
118
119 * allow port=0 in .socket units
120
121 * move readahead files into /var, look for them with .path units
122
123 * teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
124
125 * support systemd.mask= on the kernel command line.
126
127 * when key file cannot be found, read it from kbd in cryptsetup
128
129 * reuse mkdtemp namespace dirs in /tmp?
130
131 * recreate systemd's D-Bus private socket file on SIGUSR2
132
133 * Support --test based on current system state
134
135 * investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
136
137 * maybe introduce ExecRestartPre=
138
139 * configurable jitter for timer events
140
141 * timer events with system resume
142
143 * timer events on calendar time
144
145 * Support ProcessNeededForShutdown=true to allow stuff like mdmon to
146   be killed very late after the rootfs is read only? If implement pass
147   this to shutdown binary via command line argument.
148
149 * dot output for --test showing the 'initial transaction'
150
151 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
152     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
153
154 * implicitly import "defaults" settings file into all types
155 * exec settings override
156 * writable cgroups dbus properties for live changes
157
158 * port over to LISTEN_FDS/LISTEN_PID:
159    - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
160    - cups     HAVEPATCH
161    - postfix, saslauthd
162    - apache/samba
163    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
164    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
165    - distccd
166
167 * auditd service files
168
169 * fingerprint.target, wireless.target, gps.target, netdevice.target
170
171 * io priority during initialization
172
173 * if a service fails too often, make the service enter failed mode, and the socket, too.
174
175 * new deps "Triggers" and "TriggeredBy"
176
177 * systemctl list-jobs - show dependencies
178
179 * add systemctl switch to dump transaction without executing it
180
181 * suspend, resume support?
182
183 * drop cap bounding set in readahead and other services
184
185 External:
186
187 * dbus:
188    - get process transport into dbus for systemctl -P/-H (PENDING)
189    - dbus --user
190    - natively watch for dbus-*.service symlinks (PENDING)
191    - allow specification of socket mode/umask when allocating DBusServer
192    - allow disabling of fd passing when connecting a AF_UNIX connection
193    - allow disabling of UID passing for AUTH EXTERNAL
194
195 * systemd --user
196     PR_SET_CHILD_REAPER patch: https://lkml.org/lkml/2011/7/28/426
197
198 * fix alsa mixer restore to not print error when no config is stored
199
200 * udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
201
202 * snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
203
204 * gnome-shell python script/glxinfo/is-accelerated must die
205
206 * make cryptsetup lower --iter-time
207
208 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
209
210 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
211     http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
212   (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
213
214 * kernel: add /proc/sys file exposing CAP_LAST_CAP? sysconf?
215
216 * kernel: add device_type = "fb", "fbcon" to class "graphics"
217
218 Regularly:
219
220 * look for close() vs. close_nointr() vs. close_nointr_nofail()
221
222 * check for strerror(r) instead of strerror(-r)
223
224 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
225
226 * %m in printf() instead of strerror();
227
228 * pahole
229
230 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!