summaryrefslogtreecommitdiff
path: root/fixme
blob: 3ed5fdfa2c560f60e608f3f46455cae34cfd0e85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

- mounts might take time, need to be executed asynchronously in a forked process?

- need gc for active jobs that nothing cares for

- need gc for units that are not referenced anymore

- refreshing of units (i.e. reload config files)

- dbusification

- cgroupsification

- udev hookup

- snapshot system

- hookup with battery status, suspend/resume

- add a job mode which shuts everything down but what is requested

- implement priv dropping

- allow to disable priv dropping for hook scripts from fragment

- implement timer

- implement automount

- create session/pgroup for child processes? handle input on console properly? interactive fsck? interactive luks password?

- fs namespaces

- templating/instances

- verify fragment data after loading: refuse cycles on yourself, service units contradicting, more than one Start executable, ...

- automatically delete stale unix sockets

- .socket needs to be notified not only by .service state changes, but also unsuccessful start jobs

- we probably cannot use glibc's syslog() for logging, since it
  presumably uses the logging socket in blocking mode which might
  trigger a deadlock if syslog does not process the socket anymore
  (maybe because it is restarted) and the socket buffer is full.

- in udev/mount if properties change we need to delete the old
  settings and install the new settings. Deleting the old settings is
  currently missing.

- ability to kill services? i.e. in contrast to stopping them, go directly
  into killing mode?

- restart-on-success, restart-on-failure, restart-on-abort

- port over to LISTEN_FDS/LISTEN_PID:

   - uuidd    DONE
   - nscd     DONE
   - rpcbind (/var/run/rpcbind.sock!)
   - dbus
   - rsyslog
   - cups
   - ssh
   - postfix, saslauthd
   - apache/samba
   - libvirtd (/var/run/libvirt/libvirt-sock-ro)
   - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
   - avahi-daemon (/var/run/avahi-daemon/socket)
   - distccd

- teach dbus to talk to systemd when autospawning services

- unix sockets chown()/chgrp()