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