]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
man: fix prototype of sd_get_uids()
[thirdparty/systemd.git] / TODO
CommitLineData
71092d70 1Bugfixes:
7c66aeba
KS
2* check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
3
c904f64d
LP
4* swap units that are activated by one name but shown in the kernel under another are semi-broken
5
f957632b
KS
6* Dangling symlinks of .automount unit files in .wants/ directories, set up
7 automount points even when the original .automount file did not exist
8 anymore. Only the .mount unit was still around.
9
9a366075
LP
10* make polkit checks async
11
a40593a0 12* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
20ffc4c4 13
7bcd865d
ZJS
14* add 'set -e' to scripts in test/
15* make test in test/ work with separate output dir
16
2f8d077e
KS
17* suppress log output on shutdown when "quiet" is used
18
2d19f95c 19Fedora 19:
2f8d077e 20* make anaconda write timeout=0 for encrypted devices
81d112a8 21
c0fe5db5 22* drop no longer needed modprobe.d udlfb file (it does not belong in /etc anyway)
b44be3ec 23
c0fe5db5 24* Retest multi-seat (new kms driver for displaylink)
c3090674 25
81d112a8
LP
26* make sure pkexec works fine with pam_systemd works fine with audit=0
27
2d19f95c
KS
28* create /var/log/journal/
29
314b4b0a 30* logind: document new PrepareForSleep(false) semantics and UnlockSessions call in wiki
bfb7ec0e 31
a4cc3e5c
LP
32* external: maybe it is time to patch procps so that "ps" links to
33 libsystemd-logind to print a pretty service name, seat name, session
34 name in its output. Currently it only shows cgroup membership, but
0028da22 35 that's sometimes kinda hard to parse for a human.
a4cc3e5c 36
7e2c2bcf 37* cgroup attrs:
b44be3ec 38 - don't unconditionally filter out duplicate settings
7e2c2bcf
LP
39 - support high-level cgroup setting syntax in systemctl. Example: "systemctl set-cgroup-attr MemoryLimit 5K"
40 - support writte string mapping even for non-high-level settings
41 - add man page for systemctl commands
42 - make sure we work fine with multi-line strings
7b4da18c 43
7b4da18c 44* kernel cmdline switch to turn off predictable network interface names
788f75a0 45
b44be3ec 46* journal is not closed properly at shutdown when run in a container?
205b7fa4 47
b44be3ec 48* introduce new "journal" group in place of adm?
95b4be17 49
81d112a8
LP
50* localed:
51 - localectl: add listing support for X11 keymaps, by parsing /usr/share/X11/xkb/rules/xorg.lst
52 - localectl: support new converted x11→console keymaps
53
f8aeee1f
LP
54* The tag "seat-master" in udev is badly named, as it might conflict with
55 actual seat names.
56
b44be3ec 57Features:
499519c6 58
990ffbe5
LP
59* support --root in msgcatalog and hwdb
60
61* document in wiki how to map ical recurrence events to systemd timer unit calendar specifications
62
63* Support 2012-02~4 as syntax for specifying the fourth to last day of the month.
64
398a745c
LP
65* We should not set KDSKBMODE to K_UNICODE in vconsole-setup if the
66 kbd is currently in raw/off state.
67
990ffbe5 68* Honour "-" prefix for InaccessibleDirectories= and ReadOnlyDirectories= to
f8aeee1f
LP
69 suppress errors of the specified path doesn't exist
70
71* dev-setup.c: when running in a container, create a tiny stub udev
72 database with the systemd tag set for all network interfaces found,
73 so that libudev reports them as present, and systemd's .device units
74 will be activated.
75
390b5e55
LP
76* nspawn: investigate whether we can support the same as LXC's
77 lxc.network.type=phys mode, and pass through entire network
78 interfaces to the container
990ffbe5
LP
79* nspawn: maybe add a way to drop additional caps, in addition to add additional caps
80* nspawn: maybe explicitly reset loginuid?
390b5e55 81
81d112a8 82* merge service_kill() logic into unit_kill_context() and unify the code paths
490b7e47 83
81d112a8
LP
84* when auto-detecting the main pid of a service, only look for those processes with ppid == 1
85
86* introduce ExecCondition= in services
490b7e47 87
b44be3ec 88* if we have systemd-analyze in C "systemctl dot" should move there too
5965984d 89
b44be3ec
LP
90* EFI:
91 - fsck hookup for the ESP mount is missing
92 - write man page for efi boot generator
93 - add configure switch for enabling/disabling efi stuff
94 - honor language efi variables for default language selection (if there are any?)
95 - honor timezone efi variables for default timezone selection (if there are any?)
96 - introduce bootctl (backed by systemd-bootd) to control temporary and persistent default boot goal plus efi variables
e4181484 97
81d112a8
LP
98* polkit: add configure switch to enable/disable polkit client side code
99
c0fe5db5 100* maybe do not install getty@tty1.service symlink in /etc but in /usr?
e9fd44b7 101
b44be3ec 102* re-enable "make check" for gtk-doc (broken for unknown reason)
e9fd44b7 103
b44be3ec
LP
104* fstab: add new mount option x-systemd-after=/foobar/waldo to allow manual dependencies to other mount points
105 https://bugzilla.redhat.com/show_bug.cgi?id=812826
3040728b 106
b44be3ec 107* print a nicer explanation if people use variable/specifier expansion in ExecStart= for the first word
8ed20651 108
b44be3ec 109* mount: turn dependency information from /proc/self/mountinfo into dependency information between systemd units.
e6c6e7af 110
b44be3ec
LP
111* logind:
112 - logind: optionally, ignore idle-hint logic for autosuspend, block suspend as long as a session is around
113 - When we update the kernel all kind of hibernation should be prohibited until shutdown/reboot
114 - logind: wakelock/opportunistic suspend support
115 - Add pretty name for seats in logind
116 - logind: allow showing logout dialog from system?
117 - logind: spawn user@..service on login
118 - logind: non-local X11 server handling
119 - logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API
120 - pam_systemd: try to get old session id from cgroup, if audit sessionid cannot be determined
121 - pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree
e673ad04 122
b44be3ec 123* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
e673ad04 124
b44be3ec 125* DeviceAllow/DeviceDeny: disallow everything by default, but whitelist /dev/zero, /dev/null and friends
e673ad04 126
b44be3ec 127* service: watchdog logic: for testing purposes allow ping, but do not require pong
e673ad04 128
b44be3ec
LP
129* journal:
130 - journald: also get thread ID from client, plus thread name
131 - journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
132 - add API to close/reopen/get fd for journal client fd in libsystemd-journal.
133 - fallback to /dev/log based logging in libsystemd-journal, if we can't log natively?
134 - declare the local journal protocol stable in the wiki interface chart
135 - journal: reuse XZ context
136 - sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
137 - journald: when dropping msgs due to ratelimit make sure to write
138 "dropped %u messages" not only when we are about to print the next
139 message that works, but alraedy after a short tiemout
140 - check if we can make journalctl by default use --follow mode inside of less if called without args?
141 - maybe add API to send pairs of iovecs via sd_journal_send
142 - journal: when writing journal auto-rotate if time jumps backwards
143 - gatewayd: should run under its own UID
144 - journal: add a setgid "adm" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
145 - journactl: support negative filtering, i.e. FOOBAR!="waldo",
146 and !FOOBAR for events without FOOBAR.
147 - journal: when rotating, copy over old acls/access mode
148 - journal: document why we do not give ownership to journal files to the user that created them but use FS ACLs for that
149 - journal: send out marker messages every now and then, and immediately sync with fdatasync() afterwards, in order to have hourly guaranteed syncs.
150 - journal: when we haven't written anything in a while, sync to disk and mark file as offline, in order to be more often than not in a clean state
151 - journal-send.c, log.c: when the log socket is clogged, and we drop, count this and write a message about this when it gets unclogged again.
152 - journal: find a way to allow dropping history early, based on priority, other rules
153 - journal: When used on NFS, check payload hashes
154 - journal: When used on NFS make sure wake up sd_journal_wait() every 2s, to handle missing inotify
155 - document that people can use file system ACLs to manage access to journal files, with example
156 - Introduce journalctl -b <nr> to show journal messages of a previous boot
157 - journald: check whether it is OK if the client can still modify delivered journal entries
158 - journal live copy, based on libneon (client) and libmicrohttpd
159 - journald: add kernel cmdline option to disable ratelimiting for debug purposes
160 - refuse taking lower-case variable names in sd_journal_send() and friends.
161 - journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
162 - journal: deal nicely with byte-by-byte copied files, especially regards header
163 - journalctl: show multiline log messages sanely, expand tabs, and show all valid utf8 messages
164 - journal: store euid in journal if it differs from uid
165 - journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
166
167* document:
168 - document unit_name_mangle()
169 - document that deps in [Unit] sections ignore Alias= fileds in
170 [Install] units of other units, unless those units are disabled
171 - man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
172 - Document word splitting syntax for ExecStart= and friends
173 - document that units from /etc override those from /usr and /run
174 - document the exit codes when services fail before they are exec()ed
175 - document that %% can be used to write % in a string that is specifier extended
176 - document that service reload may be implemented as service reexec
177
178* systemctl:
179 - systemctl list-jobs - show dependencies
180 - add systemctl switch to dump transaction without executing it
181 - Add a verbose mode to "systemctl start" and friends that explains what is being done or not done
182 - "systemctl disable" on a static unit prints no message and does
183 nothing. "systemctl enable" does nothing, and gives a bad message
184 about it. Should fix both to print nice actionable messages.
185 - print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
186 - add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
187 - systemctl enable: improve the success messages (i.e. more human readable, less shell-like)
188 - systemctl enable: fail if target to alias into doesn't exist? maybe show how many units are enabled afterwards?
189 - systemctl: "Journal has been rotated since unit was started." message is misleading
190 - support "systemctl stop foobar@.service" to stop all units matching a certain template
191 - Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
8b04b925 192
b44be3ec 193* When shutdown.target is queued begin with an asynchronous sync()?
7361c3b4 194
e673ad04
LP
195* introduce ntp.service (or suchlike) as symlink that is used to arbitrate between various NTP implementations
196
b44be3ec
LP
197* deal with sendmail/postfix exclusivity
198
199* timer units:
200 - configurable jitter for timer events
201 - timer events with system resume
202 - timer units should get the ability to trigger when:
203 o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
204 o DST changes
d2e83c23
KS
205
206* update the kernel's TZ (sys_tz) when DST changes
207
208* sync down the system time to the RTC when:
f6113d42
KS
209 - CLOCK_REALTIME makes jumps (the user explicitely requested a time set)
210 - DST/timezone changes && ntp is active && RTC-in-localtime (never do it without ntp)
d2e83c23 211 This takes care of syncing ntpdate updates to the RTC, and DST updates for localtime
7a43e910 212 mode, it will never touch the RTC if the no reliable time source is active or the
d2e83c23 213 user did not request anything like it.
c55b1b59 214
6c1703cc
KS
215* hwdb:
216 - implement conditional properties (dmi matches)
217 - hwdb --filter=ID_DRIVE_*
08f95888 218
59704f3e
LP
219* if booted in "quiet" mode, and an error happens, turn on status
220 output again, so that the emergency mode isn't totally
221 surprising. Also, terminate plymouth.
9ec82de1 222
e707c494
LP
223* libunwind support for coredump pattern hook, and includes this in
224 the message for coredumps. After all, libunwind is now capable to
225 unwind coredumps since a few weeks ago. This probably requires that
7f873283
LP
226 we have nice support for multi-line messages on display in
227 logs-show.c. Alternatively: use libelfutil, which seems to be the
228 better supported alternative.
e707c494 229
e707c494
LP
230* figure out relation of --all and --full in the various tools
231
a19554ed
LP
232* add libsystemd-password or so to query passwords during boot using the password agent logic
233
1cb88f2c
LP
234* If we show an error about a unit (such as not showing up) and it has no Description string, then show a description string generated form the reverse of unit_name_mangle().
235
236* fedup: add --unit to systemctl switch-root somehow
237* fedup: don't delete initrd on switch-root
238* fedup: generator
603cd8fe 239
b44be3ec
LP
240* timedated:
241 - timedated: export boolean that clarifies whether NTP is even available
242 - timedated: refuse time changes when NTP is on
6d0274f1 243
a7a3f28b
LP
244* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
245
9b27910b
LP
246* introduce generic AUGMENT_PID=, AUGMENT_DEVICE= fields
247
b44be3ec 248* on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel
08f95888 249
7d8197d1
KS
250* add "provisioning" instructions to setup an empty /etc + /var
251 - used to setup a new container from a shared /usr
252 - superset of tmpfiles model
253 - instructions shipped by packages and stored in /usr/lib/
254 - compose /etc/passwd and /etc/group, copy files
255 - able to create uid + gid used by packages, for file ownership
256
9ee58bdd
KS
257* make repeated alt-ctrl-del presses printing a dump, or even force a reboot without
258 waiting for the timeout
dcfc4b2e 259
71ef24d0
LP
260* high level net_prio setting in execution context
261
71ef24d0
LP
262* hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ...
263
1b89884b
LP
264* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab isn't
265
1920e37e
LP
266* WorkingDirectory: support env var replacements like in ExecStart= so that people can use $HOME
267
15abdb9a 268* refuse boot if /etc/machine-id is not useful (or set taint?)
1920e37e 269
b44be3ec
LP
270* nspawn:
271 - nspawn: consider changing users for -u with su, so that NSS resolving works correctly
272 - nspawn: implement personality changes a la linux32(8)
273 - nspawn: --read-only is not applied recursively to submounts
274 - nspawn: make use of device cgroup controller by default
275 - bind mount read-only the cgroup tree higher than nspawn
276
277* cryptsetup:
278 - cryptsetup-generator: warn if the password files are world-readable
279 - cryptsetup-generator: add RequiresMountsFor= to cryptseup service files referencing a file, similar for devices
280 - cryptsetup-generator: allow specification of passwords in crypttab itself
281 - move cryptsetup key caching into kernel keyctl?
282 https://bugs.freedesktop.org/show_bug.cgi?id=54982
283 - when key file cannot be found, read it from kbd in cryptsetup
f8019684 284
de34a42b
LP
285* move debug shell to tty6 and make sure this doesn't break the gettys on tty6
286
424a19f8 287* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
41f9172f 288 https://bugs.freedesktop.org/show_bug.cgi?id=54712
424a19f8
LP
289
290* after deserializing sockets in socket.c we should reapply sockopts and things
291
a1cccad1
LP
292* make timer units go away after they elapsed
293
8556879e 294* http://lists.freedesktop.org/archives/systemd-devel/2012-September/006502.html
d05c556b 295 (network and remote-fs on shutdown)
8556879e 296
8556879e
LP
297* come up with a nice way to write queue/read_ahead_kb for a block device without interfering with readahead
298
4a30847b
LP
299* move PID 1 segfaults to /var/lib/systemd/coredump?
300
5e8b2883
LP
301* create /sbin/init symlinks from the build system
302
d87be9b0
LP
303* Query Paul Moore about relabelling socket fds while they are open
304
88f89a9b
LP
305* system.conf should have controls for cgroups
306
38a60d71
LP
307* allow writing multiple conditions in unit files on one line
308
d8b78264
LP
309* explore multiple service instances per listening socket idea
310
311* testing tool for socket activation: some binary that listens on a socket and passes it on using the usual socket activation protocol to some server.
312
7560fffc
LP
313* shutdown: don't read-only mount anything when running in container
314
68f16003 315* MountFlags=shared acts as MountFlags=slave right now.
0790b9fe 316
5a7e9599
LP
317* ReadOnlyDirectories= is not applied recursively to submounts
318
68f16003
LP
319* drop PID 1 reloading, only do reexecing (difficult: Reload()
320 currently is properly synchronous, Reexec() is weird, because we
321 can't delay the response properly until we are back, so instead of
322 being properly synchronous we just keep open the fd and close it
edca2e23 323 when done. That means clients don't get a successful method reply,
68f16003 324 but much rather a disconnect on success.
0790b9fe 325
5aea932f
LP
326* remember which condition failed for services, not just the fact that something failed
327
918943c7
LP
328* use opterr = 0 for all getopt tools
329
fd4d89b2
LP
330* properly handle loop back mounts via fstab, especially regards to fsck/passno
331
8230e26d
LP
332* allow services with no ExecStart= but with an ExecStop=
333
4d9909c9
LP
334* dracut-shutdown needs to be ordered before unmounting /boot
335
47ae7201
LP
336* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
337
88a6c589 338* rename "userspace" to "core-os"
8351ceae 339
b44be3ec
LP
340* syscall filter:
341 - syscall filter: add knowledge about compat syscalls
342 - syscall filter: don't enforce no new privs?
343 - syscall filter: option to return EPERM rather than SIGSYS?
344 - syscall filter: port to libseccomp
345 - system-wide seccomp filter
c66d36e5 346
c649f72b
DS
347* systemd-analyze: data collection tools should be lightweight (few dependencies); data analysis tools can be heavyweight
348
be0aa784
LP
349* .device aliases need to be implemented with the "following" logic, probably.
350
9946996c
LP
351* load-fragment: when loading a unit file via a chain of symlinks
352 verify that it isn't masked via any of the names traversed.
353
3471bedc
LP
354* introduce Type=pid-file
355
eeb87514
LP
356* maybe allow services with ExecStop= set, but no ExecStart=?
357
59cea26a 358* change Requires=basic.target to RequisiteOverride=basic.target
35eb6b12 359
94734142 360* support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
f1a8e221 361
7b63bde1
LP
362* drop accountsservice's StandardOutput=syslog and Type=dbus fields
363
5b40d337
LP
364* when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
365
b86fa936
LP
366* move passno parsing to fstab generator
367
d3a3f222
KS
368* automount: implement expire:
369 - set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_CMD
370 - periodically run AUTOFS_DEV_IOCTL_EXPIRE_CMD
371 - every timeout/4 (original autofs logic)
372 - blocking, needs a thread
373 - run until -EAGAIN
374 - receive expire packet on pipe if kernel tells the timeout is over
375 - call umount
376 - answer expire packet on pipe with AUTOFS_DEV_IOCTL_{READY,FAIL}_CMD
377 - AUTOFS_DEV_IOCTL_EXPIRE_CMD returns
465349c0 378
06dab8e1
LP
379* services which create their own subcgroups break cgroup-empty notification (needs to be fixed in the kernel)
380
e01a15b7 381* ExecOnFailure=/usr/bin/foo
a888b352 382
98ef27df 383* ConditionSecurity= should learn about IMA and SMACK
a0a38448 384
abd55b16
KS
385* udev:
386 - remove all (misguided from day 1) userspace firmware_class handling
387 - move to LGPL
388 - unify utf8 validator code with shared/
389 - kill scsi_id
390 - add trigger --subsystem-match=usb/usb_device device
b8217b7b 391
18b754d3 392* cleanup syslog 'priority' vs. 'level' wording
068665b6 393
231931ff
LP
394* dbus upstream still refers to dbus.target and shouldn't
395
169c4f65
LP
396* when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting
397
bd08f242
LP
398* support container_ttys=
399
fb0864e7
LP
400* introduce mix of BindTo and Requisite
401
9586cdfa
LP
402* add DeleteSocketsOnStop=yes|no option to socket units
403
7f110ff9
LP
404* There's currently no way to cancel fsck (used to be possible via C-c or c on the console)
405
d0e5a333
LP
406* add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/
407
d0e5a333
LP
408* default unix qlen is too small (10). bump sysctl? add sockopt?
409
53ed2eeb
LP
410* figure out whether we should leave dbus around during shutdown
411
abd55b16 412* dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id
680a1dbc 413
a6e87e90 414* dbus: move dbus to early boot
88f89a9b 415
87a8baa3
LP
416* save coredump in Windows/Mozilla minidump format
417
418* support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting)
419
5ba081b0
LP
420* clean up session cgroups that remain after logout (think sshd), but eventually run empty
421
4cbd9ecf
LP
422* when an instanced service exits, remove its parent cgroup too if possible.
423
65c0cf71
LP
424* default to actual 32bit PIDs, via /proc/sys/kernel/pid_max
425
f957632b
KS
426* be able to specify a forced restart of service A where service B depends on, in case B
427 needs to be auto-respawned?
428
ad740100
LP
429* when a bus name of a service disappears from the bus make sure to queue further activation requests
430
de6c78f8 431* tmpfiles: apply "x" on "D" too (see patch from William Douglas)
7d441ddb 432
b44be3ec 433* for services: don't set $HOME in services unless requested
14e639ae 434
ff01d048
LP
435* hide PAM/TCPWrap options in fragment parser when compile time disabled
436
d3c7d7dd 437* when we automatically restart a service, ensure we restart its rdeps, too.
72b9ed82 438
1d6702e8
LP
439* allow Type=simple with PIDFile=
440 https://bugzilla.redhat.com/show_bug.cgi?id=723942
441
71092d70
LP
442* move PAM code into its own binary
443
1258097c
LP
444* implement Register= switch in .socket units to enable registration
445 in Avahi, RPC and other socket registration services.
446
a4c279f8
LP
447* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
448
7c697168 449* support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1), and add ReloadSignal= then to use in combination
253ee27a 450
71092d70 451* support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
8d0e38a2 452
f28f1daf
LP
453* verify that the AF_UNIX sockets of a service in the fs still exist
454 when we start a service in order to avoid confusion when a user
455 assumes starting a service is enough to make it accessible
456
88a07670
LP
457* Make it possible to set the keymap independently from the font on
458 the kernel cmdline. Right now setting one resets also the other.
459
71092d70 460* and a dbus call to generate target from current state
916abb21 461
b44be3ec
LP
462* readahead:
463 - drop /.readahead on bigger upgrades with yum
464 - move readahead files into /var (look for them with .path units?)
465 - readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
466 - readahead: when bumping /sys readahead variable save mtime and compare later to detect changes
467 - readahead: make use of EXT4_IOC_MOVE_EXT, as used by http://e4rat.sourceforge.net/
b23de6af 468
21bdae12
LP
469* add support for /bin/mount -s
470
9534ce54
LP
471* GC unreferenced jobs (such as .device jobs)
472
68c7d001 473* write blog stories about:
796b06c2 474 - hwdb: what belongs into it, lsusb
68c7d001
LP
475 - enabling dbus services
476 - status update
7a2a0b90 477 - how to make changes to sysctl and sysfs attributes
253ee27a 478 - remote access
5d0fcd7c
LP
479 - how to pass throw-away units to systemd, or dynamically change properties of existing units
480 - how to integrate cgconfig and suchlike with systemd
8bbabc44 481 - testing with Harald's awesome test kit
f530371f 482 - auto-restart
e707c494 483 - how to develop against journal browsing APIs
a19554ed 484 - the journal HTTP iface
a73d88fa 485 - non-cgroup resource management
a74a8793 486 - dynamic resource management with cgroups
3040728b 487 - refreshed, longer missions statement
a74a8793 488 - celendar time events
73090dc8 489
44143309 490* allow port=0 in .socket units
3d57c6ab 491
71092d70 492* support systemd.mask= on the kernel command line.
3f7a8c4e 493
260abb78
LP
494* reuse mkdtemp namespace dirs in /tmp?
495
260abb78 496* recreate systemd's D-Bus private socket file on SIGUSR2
2791a8f8 497
a8f11321
LP
498* Support --test based on current system state
499
21bdae12
LP
500* investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
501
c32e0c40
LP
502* maybe introduce ExecRestartPre=
503
59fee421
LP
504* dot output for --test showing the 'initial transaction'
505
129126f3 506* port over to LISTEN_FDS/LISTEN_PID:
7d9e57d2
KS
507 - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
508 - cups HAVEPATCH
a625ac1a 509 - postfix, saslauthd
a625ac1a
LP
510 - apache/samba
511 - libvirtd (/var/run/libvirt/libvirt-sock-ro)
512 - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
a625ac1a
LP
513 - distccd
514
71092d70 515* fingerprint.target, wireless.target, gps.target, netdevice.target
246756ca 516
50f2a90d 517* io priority during initialization
8fe914ec 518
9534ce54
LP
519* drop cap bounding set in readahead and other services
520
2f8cd170 521External:
74fe1fe3 522
cc9784c6 523* dbus:
cc9784c6 524 - dbus --user
3377af3e 525 - natively watch for dbus-*.service symlinks (PENDING)
cc9784c6
LP
526 - allow specification of socket mode/umask when allocating DBusServer
527 - allow disabling of fd passing when connecting a AF_UNIX connection
3377af3e 528 - allow disabling of UID passing for AUTH EXTERNAL
b69d29ce 529 - always pass cred data along each message
b44be3ec 530 - teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
cc9784c6 531
71092d70
LP
532* fix alsa mixer restore to not print error when no config is stored
533
74fe1fe3
LP
534* make cryptsetup lower --iter-time
535
9096ad36 536* patch kernel for xattr support in /dev, /proc/, /sys?
06ae4bfe 537
69b1c674
KS
538* NTP: the kernel's 11-minutes-mode syncs the system time to the RTC, but only
539 in an ~30 minutes window. It does not adjust larger differences. Find a way
540 to tell the kernel, to always do a full time sync when the RTC is in UTC and
541 we are in 11-minutes-mode. When we trust the system time to NTP we also want
542 the RTC to sync up.
543
71092d70 544* kernel: add device_type = "fb", "fbcon" to class "graphics"
14bd37fe 545
129126f3 546Regularly:
874aa2cc 547
129126f3 548* look for close() vs. close_nointr() vs. close_nointr_nofail()
5021be21 549
129126f3 550* check for strerror(r) instead of strerror(-r)
5b6319dc
LP
551
552* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
8c6db833 553
14212119 554* %m in printf() instead of strerror(errno);
444a79d3
LP
555
556* pahole
557
71092d70 558* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
a3a3e5b6 559
4db17f29 560* use secure_getenv() instead of getenv() where appropriate
88fae6e0 561
d05c556b
ZJS
562* link up selected blog stories from man pages and unit files Documentation= fields
563
9e5f3dbb 564Scheduled for removal or fixing:
a3a3e5b6 565
9e5f3dbb 566* xxxOverridable dependencies (probably: fix)