Systemd/src
Lennart Poettering 1d84ad9445 util-lib: various improvements to kernel command line parsing
This improves kernel command line parsing in a number of ways:

a) An kernel option "foo_bar=xyz" is now considered equivalent to
   "foo-bar-xyz", i.e. when comparing kernel command line option names "-" and
   "_" are now considered equivalent (this only applies to the option names
   though, not the option values!). Most of our kernel options used "-" as word
   separator in kernel command line options so far, but some used "_". With
   this change, which was a source of confusion for users (well, at least of
   one user: myself, I just couldn't remember that it's systemd.debug-shell,
   not systemd.debug_shell). Considering both as equivalent is inspired how
   modern kernel module loading normalizes all kernel module names to use
   underscores now too.

b) All options previously using a dash for separating words in kernel command
   line options now use an underscore instead, in all documentation and in
   code. Since a) has been implemented this should not create any compatibility
   problems, but normalizes our documentation and our code.

c) All kernel command line options which take booleans (or are boolean-like)
   have been reworked so that "foobar" (without argument) is now equivalent to
   "foobar=1" (but not "foobar=0"), thus normalizing the handling of our
   boolean arguments. Specifically this means systemd.debug-shell and
   systemd_debug_shell=1 are now entirely equivalent.

d) All kernel command line options which take an argument, and where no
   argument is specified will now result in a log message. e.g. passing just
   "systemd.unit" will no result in a complain that it needs an argument. This
   is implemented in the proc_cmdline_missing_value() function.

e) There's now a call proc_cmdline_get_bool() similar to proc_cmdline_get_key()
   that parses booleans (following the logic explained in c).

f) The proc_cmdline_parse() call's boolean argument has been replaced by a new
   flags argument that takes a common set of bits with proc_cmdline_get_key().

g) All kernel command line APIs now begin with the same "proc_cmdline_" prefix.

h) There are now tests for much of this. Yay!
2016-12-21 19:09:08 +01:00
..
ac-power
activate tree-wide: set SA_RESTART for signal handlers we install 2016-12-01 12:41:17 +01:00
analyze analyze: fix build without seccomp 2016-11-10 10:12:31 +01:00
ask-password
backlight
basic util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
binfmt
boot bootctl: fix typo (#4897) 2016-12-16 15:41:31 +01:00
cgls
cgroups-agent
cgtop
core util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
coredump coredumpctl: let gdb handle the SIGINT signal (#4901) 2016-12-17 09:49:17 -05:00
cryptsetup util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
dbus1-generator
debug-generator util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
delta tree-wide: replace all readdir cycles with FOREACH_DIRENT{,_ALL} (#4853) 2016-12-09 10:04:30 +01:00
detect-virt
dissect dissect: optionally, only look for GPT partition tables, nothing else 2016-12-20 20:00:09 +01:00
escape
firstboot util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
fsck util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
fstab-generator util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
getty-generator
gpt-auto-generator util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
hibernate-resume util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
hostname networkd: allow networkd to set the timezone in timedated 2016-11-23 16:32:06 +01:00
hwdb hwdb: emit warning when matches are specified at the very end of file 2016-12-11 18:01:26 -05:00
import nspawn: add fallback top normal copy/reflink when we cannot btrfs snapshot 2016-11-22 13:35:09 +01:00
initctl Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
journal util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
journal-remote python: adjust imports, indentation, unused variables following pylint advice 2016-12-01 18:55:23 -05:00
kernel-install kernel-install: use exit instead of return (#4565) 2016-11-04 08:58:41 -04:00
libsystemd Add sd_is_socket_sockaddr (#4885) 2016-12-14 11:51:26 +01:00
libsystemd-network network: fix const qualifier (#4849) 2016-12-07 16:42:17 -05:00
libudev libudev: set errno if udev_new() fails 2016-12-07 18:38:40 +01:00
locale
login pam: include pam_keyinit.so in our PAM fragments 2016-12-13 20:59:36 +01:00
machine dissect: optionally, only look for GPT partition tables, nothing else 2016-12-20 20:00:09 +01:00
machine-id-setup machine-id-setup: --print --commit respects the --root option 2016-12-13 13:03:13 +00:00
modules-load util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
mount
network networkd-ndisc: handle missing mtu gracefully (#4913) 2016-12-19 15:34:07 +01:00
notify Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
nspawn dissect: optionally, only look for GPT partition tables, nothing else 2016-12-20 20:00:09 +01:00
nss-myhostname
nss-mymachines
nss-resolve
nss-systemd
path
quotacheck util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
random-seed
rc-local-generator
remount-fs tree-wide: always invoke setmntent() with "re" mode 2016-12-20 20:00:09 +01:00
reply-password
resolve core: introduce parse_ip_port (#4825) 2016-12-06 12:21:45 +01:00
rfkill
run Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
shared dissect: optionally, only look for GPT partition tables, nothing else 2016-12-20 20:00:09 +01:00
sleep
socket-proxy socket-proxyd: Introduced dynamic connection limit via an option. (#4749) 2016-11-28 18:25:11 +01:00
stdio-bridge
sysctl
system-update-generator Use SPECIAL_DEFAULT_TARGET consistently 2016-12-17 17:26:59 -05:00
systemctl systemctl: do not segfault when we cannot find template unit (#4915) 2016-12-20 11:09:59 +01:00
systemd Add sd_is_socket_sockaddr (#4885) 2016-12-14 11:51:26 +01:00
sysusers Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
sysv-generator sysv-generator: properly translate sysv facilities 2016-12-14 18:29:30 +01:00
test util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
timedate
timesync timesyncd: clear ADJ_MAXERROR to keep STA_UNSYNC cleared after jump adjust (#4626) 2016-11-11 18:50:46 +01:00
tmpfiles tree-wide: replace all readdir cycles with FOREACH_DIRENT{,_ALL} (#4853) 2016-12-09 10:04:30 +01:00
tty-ask-password-agent
udev util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
update-done
update-utmp Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
user-sessions
vconsole
.gitignore
Makefile