]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
Merge branch 'master' into journal
[thirdparty/systemd.git] / TODO
CommitLineData
71092d70 1Bugfixes:
b7ff1e47 2
c904f64d
LP
3* swap units that are activated by one name but shown in the kernel under another are semi-broken
4
f80781ea
LP
5* NM should pull in network.target (PENDING)
6 https://bugzilla.redhat.com/show_bug.cgi?id=692008
7
05677bb7 8* make anaconda write timeout=0 for encrypted devices
73090dc8 9
71092d70 10* service: pid file reading after reload doesn't work, since we don't reset the pid variable
35c5c7a0 11
71092d70 12* make sure timeouts are applied to Type=oneshot services.
ddd88763 13
f957632b
KS
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
9a366075
LP
18* make polkit checks async
19
a40593a0
LP
20* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
21
71092d70 22Features:
effe639c 23
a40593a0
LP
24* check utf8 everywhere
25
4cbd9ecf
LP
26* when an instanced service exits, remove its parent cgroup too if possible.
27
25d6283a
LP
28* as Tom Gundersen pointed out there's a always a dep loop if people use crypto file systems with random keys
29
62590f23 30* unset container= in PID1?
effe639c 31
a6eb9147
LP
32* automatically escape unit names passed on the service (i.e. think "systemctl start serial-getty.service@serial/by-path/jshdfjsdfhkjh" being automatically escaped as necessary.
33
b011116d
KS
34* if we can not get user quota for tmpfs, mount a separate tmpfs instance
35 for every user in /run/user/$USER with a configured maximum size
7d441ddb 36
65c0cf71
LP
37* default to actual 32bit PIDs, via /proc/sys/kernel/pid_max
38
7ef5875d
LP
39* add an option to make mounts private/shareable and so on, enable this for root by default
40
f957632b
KS
41* internal restart counter for units (focus on auto-respawn)
42
43* finer-grained auto-respawn settings (rate-limit)
44
45* be able to specify a forced restart of service A where service B depends on, in case B
46 needs to be auto-respawned?
47
a2f5666d
LP
48* Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
49
ab7f148f
LP
50* introduce sd_log_open() to create a connection to the syslog bridge via sd-daemon.h
51
ad740100
LP
52* when a bus name of a service disappears from the bus make sure to queue further activation requests
53
c821bd28
LP
54* something like ConditionExec= or ExecStartPre= without failure state
55
7d441ddb
LP
56* service restart retry configuration
57
de6c78f8 58* tmpfiles: apply "x" on "D" too (see patch from William Douglas)
7d441ddb
LP
59* tmpfiles: support generation of char/block devices, symlinks and one-line files (think sysfs)
60
61* Introduce ControlGroupPersistant=yes to set +t on the tasks file when creating the cgroup
62
14e639ae
LP
63* don't set $HOME in services unless requested
64
b38bb493 65* remove hacks in vala code and require libnotify 0.7
034a2a52 66
ff01d048
LP
67* hide PAM/TCPWrap options in fragment parser when compile time disabled
68
72b9ed82
LP
69* when we automatically restart a service, ensure we retsart its rdeps, too.
70
1d6702e8
LP
71* allow Type=simple with PIDFile=
72 https://bugzilla.redhat.com/show_bug.cgi?id=723942
73
71092d70
LP
74* move PAM code into its own binary
75
76* warn if the user stops a service but not its associated socket
0a55b298 77
97f73ffb
LP
78* logind: spawn user@..service on login
79
85f248b2
LP
80* logind: non-local X11 server handling
81
1258097c
LP
82* implement Register= switch in .socket units to enable registration
83 in Avahi, RPC and other socket registration services.
84
a4c279f8
LP
85* make sure people don't leave processes around after ExecStartPre=
86
87* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
88
d3fc81bd
LP
89* readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
90
91* readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
92
71092d70 93* support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1)
253ee27a 94
71092d70 95* support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
8d0e38a2 96
f28f1daf
LP
97* verify that the AF_UNIX sockets of a service in the fs still exist
98 when we start a service in order to avoid confusion when a user
99 assumes starting a service is enough to make it accessible
100
88a07670
LP
101* Make it possible to set the keymap independently from the font on
102 the kernel cmdline. Right now setting one resets also the other.
103
916abb21
LP
104* move nss-myhostname into systemd
105
71092d70 106* and a dbus call to generate target from current state
916abb21 107
4ecda405
LP
108* detect LXC with $container=lxc
109
b23de6af
LP
110* drop /.readahead on bigger upgrades with yum
111
71092d70 112* add inode nr check to readahead to suppress preloading changed files
adf70c5e 113
21bdae12
LP
114* add support for /bin/mount -s
115
9534ce54
LP
116* GC unreferenced jobs (such as .device jobs)
117
19bc719e 118* cgroup_notify_empty(): recursively check groups up the tree, too
73090dc8 119
c798c40e
LP
120* when failing to start a service due to ratelimiting, try again later, if restart=always is set
121
68c7d001 122* write blog stories about:
68c7d001
LP
123 - enabling dbus services
124 - status update
7a2a0b90 125 - how to make changes to sysctl and sysfs attributes
253ee27a 126 - remote access
5d0fcd7c
LP
127 - cgroup best pratices to avoid stepping on each others toes
128 - how to pass throw-away units to systemd, or dynamically change properties of existing units
129 - how to integrate cgconfig and suchlike with systemd
0c85a4f3 130 - security properties
f957632b
KS
131 - xinetd conversion
132 - details of instantiated @.service setups
73090dc8 133
44143309 134* allow port=0 in .socket units
3d57c6ab 135
b9a2a36b
LP
136* move readahead files into /var, look for them with .path units
137
ba1a5515 138* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
9408a2d2 139
71092d70 140* support systemd.mask= on the kernel command line.
3f7a8c4e 141
f9276855
LP
142* when key file cannot be found, read it from kbd in cryptsetup
143
260abb78
LP
144* reuse mkdtemp namespace dirs in /tmp?
145
260abb78 146* recreate systemd's D-Bus private socket file on SIGUSR2
2791a8f8 147
a8f11321
LP
148* Support --test based on current system state
149
21bdae12
LP
150* investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
151
c32e0c40
LP
152* maybe introduce ExecRestartPre=
153
35f10fcc
LP
154* configurable jitter for timer events
155
cc9784c6
LP
156* timer events with system resume
157
158* timer events on calendar time
71092d70 159
3d3961f2
LP
160* Support ProcessNeededForShutdown=true to allow stuff like mdmon to
161 be killed very late after the rootfs is read only? If implement pass
162 this to shutdown binary via command line argument.
bf5bb531 163
59fee421
LP
164* dot output for --test showing the 'initial transaction'
165
8c6db833 166* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
8bf7fea5 167 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
351c7e74 168
129126f3 169* implicitly import "defaults" settings file into all types
71092d70
LP
170* exec settings override
171* writable cgroups dbus properties for live changes
75787bb7 172
0cdad5c0
LP
173* read config fragments for all units from /lib/systemd/system/foobar.service.d/ to override/extend specific settings
174
129126f3 175* port over to LISTEN_FDS/LISTEN_PID:
7d9e57d2
KS
176 - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
177 - cups HAVEPATCH
a625ac1a 178 - postfix, saslauthd
a625ac1a
LP
179 - apache/samba
180 - libvirtd (/var/run/libvirt/libvirt-sock-ro)
181 - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
a625ac1a
LP
182 - distccd
183
71092d70 184* auditd service files
0ff3dea7 185
71092d70 186* fingerprint.target, wireless.target, gps.target, netdevice.target
246756ca 187
50f2a90d 188* io priority during initialization
8fe914ec 189
74ac3cbd 190* if a service fails too often, make the service enter failed mode, and the socket, too.
ea4a240d 191
71092d70 192* new deps "Triggers" and "TriggeredBy"
63090775 193
71092d70 194* systemctl list-jobs - show dependencies
20604ebc 195
20604ebc
LP
196* add systemctl switch to dump transaction without executing it
197
7d9e57d2 198* suspend, resume support?
da726a4d 199
9534ce54
LP
200* drop cap bounding set in readahead and other services
201
2f8cd170 202External:
74fe1fe3 203
cc9784c6 204* dbus:
3377af3e 205 - get process transport into dbus for systemctl -P/-H (PENDING)
cc9784c6 206 - dbus --user
3377af3e 207 - natively watch for dbus-*.service symlinks (PENDING)
cc9784c6
LP
208 - allow specification of socket mode/umask when allocating DBusServer
209 - allow disabling of fd passing when connecting a AF_UNIX connection
3377af3e 210 - allow disabling of UID passing for AUTH EXTERNAL
cc9784c6 211
71092d70
LP
212* systemd --user
213 PR_SET_CHILD_REAPER patch: https://lkml.org/lkml/2011/7/28/426
214
215* fix alsa mixer restore to not print error when no config is stored
216
f959c5e6
LP
217* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
218
219* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
220
7d9e57d2 221* gnome-shell python script/glxinfo/is-accelerated must die
f959c5e6 222
74fe1fe3
LP
223* make cryptsetup lower --iter-time
224
44143309 225* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
06ae4bfe 226
6f3f9deb 227* patch kernel for cpu feature modalias for autoloading aes/kvm/...
fc84026d 228 http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
7d9e57d2 229 (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
6f3f9deb 230
71092d70
LP
231* kernel: add /proc/sys file exposing CAP_LAST_CAP? sysconf?
232
233* kernel: add device_type = "fb", "fbcon" to class "graphics"
14bd37fe 234
129126f3 235Regularly:
874aa2cc 236
129126f3 237* look for close() vs. close_nointr() vs. close_nointr_nofail()
5021be21 238
129126f3 239* check for strerror(r) instead of strerror(-r)
5b6319dc
LP
240
241* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
8c6db833
LP
242
243* %m in printf() instead of strerror();
444a79d3
LP
244
245* pahole
246
71092d70 247* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!