Systemd/src/core
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
..
.gitignore Move daemon-reload from package %post scripts to file triggers 2015-11-15 18:38:37 -05:00
audit-fd.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
audit-fd.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
automount.c tree-wide: stop using canonicalize_file_name(), use chase_symlinks() instead 2016-12-01 00:25:51 +01:00
automount.h automount: rework propagation between automount and mount units 2016-05-02 16:51:45 +02:00
bus-policy.c util-lib: split out allocation calls into alloc-util.[ch] 2015-10-27 13:45:53 +01:00
bus-policy.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
busname.c Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
busname.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
cgroup.c cgroup: properly check for ignore-notfound paths (#4803) 2016-12-02 09:23:23 -05:00
cgroup.h core: introduce MemorySwapMax= 2016-08-30 11:11:45 +09:00
dbus-automount.c automount: implement transient automounts 2016-06-06 07:33:54 +02:00
dbus-automount.h automount: implement transient automounts 2016-06-06 07:33:54 +02:00
dbus-busname.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-busname.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-cgroup.c core: introduce MemorySwapMax= 2016-08-30 11:11:45 +09:00
dbus-cgroup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-device.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-device.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-execute.c Modify mount_propagation_flags_from_string to return a normal int code 2016-12-17 13:57:04 -05:00
dbus-execute.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-job.c core/dbus-job, systemctl: shorten some code 2016-11-16 21:01:11 -05:00
dbus-job.h core: add bus calls for determining jobs waiting for other jobs 2016-11-16 17:01:46 +01:00
dbus-kill.c tree-wide: remove newlines from unit_write_drop_in 2016-05-28 16:29:42 -04:00
dbus-kill.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-manager.c core: modernize the SwitchRoot() bus method a bit 2016-12-20 20:00:09 +01:00
dbus-manager.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-mount.c mount: add new ForceUnmount= setting for mount units, mapping to umount(8)'s "-f" switch 2016-08-27 10:46:52 -04:00
dbus-mount.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-path.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-path.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-scope.c core: make sure RequestStop signal is send directed 2016-07-20 14:35:15 +02:00
dbus-scope.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-service.c core: make "Restart" service property accessible via the transient API 2016-12-14 00:54:13 +01:00
dbus-service.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-slice.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-slice.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-socket.c core: add RemoveIPC= setting 2016-08-19 00:37:25 +02:00
dbus-socket.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-swap.c core: add RemoveIPC= setting 2016-08-19 00:37:25 +02:00
dbus-swap.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-target.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-target.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-timer.c tree-wide: remove newlines from unit_write_drop_in 2016-05-28 16:29:42 -04:00
dbus-timer.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-unit.c core: GC redundant device jobs from the run queue 2016-11-16 15:03:26 +01:00
dbus-unit.h core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
dbus.c core: rename "clients" field of Job structure to "bus_track" 2016-11-16 15:03:26 +01:00
dbus.h core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
device.c core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) 2016-12-16 17:13:58 +01:00
device.h core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) 2016-12-16 17:13:58 +01:00
dynamic-user.c tree-wide: use mfree more 2016-10-16 23:35:39 -04:00
dynamic-user.h core: add a concept of "dynamic" user ids, that are allocated as long as a service is running 2016-07-22 15:53:45 +02:00
emergency-action.c failure-action: generalize failure action to emergency action 2016-10-21 15:13:50 +02:00
emergency-action.h failure-action: generalize failure action to emergency action 2016-10-21 15:13:50 +02:00
execute.c Merge pull request #4806 from poettering/keyring-init 2016-12-13 23:24:42 -05:00
execute.h Merge pull request #4806 from poettering/keyring-init 2016-12-13 23:24:42 -05:00
hostname-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hostname-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
ima-setup.c ima: Write the policy filename into IMA's sysfs policy file (#4766) 2016-11-29 10:47:20 -05:00
ima-setup.h tree-wide: use mdash instead of a two minuses 2016-04-21 23:00:13 -04:00
job.c core: add bus calls for determining jobs waiting for other jobs 2016-11-16 17:01:46 +01:00
job.h core: add bus calls for determining jobs waiting for other jobs 2016-11-16 17:01:46 +01:00
kill.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kill.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
killall.c tree-wide: replace all readdir cycles with FOREACH_DIRENT{,_ALL} (#4853) 2016-12-09 10:04:30 +01:00
killall.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kmod-setup.c Ensure kdbus isn't used (#3501) 2016-06-18 17:24:23 -04:00
kmod-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
load-dropin.c core: don't drop transient drop-ins when loading the rest 2016-04-12 13:43:31 +02:00
load-dropin.h core: rework generator dir logic, move the dirs into LookupPaths structure 2016-04-12 13:43:29 +02:00
load-fragment-gperf.gperf.m4 core: add ability to define arbitrary bind mounts for services 2016-12-14 00:54:10 +01:00
load-fragment.c Modify mount_propagation_flags_from_string to return a normal int code 2016-12-17 13:57:04 -05:00
load-fragment.h core: add ability to define arbitrary bind mounts for services 2016-12-14 00:54:10 +01:00
locale-setup.c tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
locale-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
loopback-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
loopback-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
machine-id-setup.c core: machine_id_setup overwrites broken machine-id 2016-12-13 12:58:42 +00:00
machine-id-setup.h core: rework machine-id-setup.c to use the calls from id128-util.[ch] 2016-07-22 12:59:36 +02:00
macros.systemd.in hwdb: use systemd-hwdb instead of obsolete udevadm hwdb (#4722) 2016-11-23 19:21:56 +01:00
main.c util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
Makefile build-sys: add stub makefiles to make emacs easier to use 2012-04-12 13:35:56 +02:00
manager.c core: downgrade "Time has been changed" to debug (#4906) 2016-12-18 13:21:19 +01:00
manager.h Merge pull request #4538 from fbuihuu/confirm-spawn-fixes 2016-11-18 11:08:06 +01:00
mount-setup.c core: add comment why we don't bother with MS_SHARED remounting of / in containers 2016-12-20 20:00:08 +01:00
mount-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mount.c core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) 2016-12-16 17:13:58 +01:00
mount.h mount: add new ForceUnmount= setting for mount units, mapping to umount(8)'s "-f" switch 2016-08-27 10:46:52 -04:00
namespace.c core: add ability to define arbitrary bind mounts for services 2016-12-14 00:54:10 +01:00
namespace.h core: add ability to define arbitrary bind mounts for services 2016-12-14 00:54:10 +01:00
org.freedesktop.systemd1.conf core: add bus calls for determining jobs waiting for other jobs 2016-11-16 17:01:46 +01:00
org.freedesktop.systemd1.policy.in.in core: rework policykit hookup 2015-02-18 18:56:27 +01:00
org.freedesktop.systemd1.service move more main systemd parts to core/ 2012-04-12 14:24:40 +02:00
path.c core: add "invocation ID" concept to service manager 2016-10-07 20:14:38 +02:00
path.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
scope.c pid1: simplify the logic in two statements related to killing processes 2016-12-09 13:53:31 -05:00
scope.h Merge pull request #3762 from poettering/sigkill-log 2016-07-22 09:18:30 +02:00
selinux-access.c tree-wide: get rid of selinux_context_t (#3732) 2016-07-15 18:44:02 +02:00
selinux-access.h core,network: Use const qualifiers for block-local variables in macro functions (#4019) 2016-08-23 12:29:30 +03:00
selinux-setup.c tree-wide: get rid of selinux_context_t (#3732) 2016-07-15 18:44:02 +02:00
selinux-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
service.c core: run each system service with a fresh session keyring 2016-12-13 20:59:10 +01:00
service.h man: fix $SERVICE_RESULT/$EXIT_CODE/$EXIT_STATUS documentation 2016-12-06 13:37:14 +01:00
show-status.c journald,core: add short comments we we keep reopening /dev/console all the time 2016-10-20 13:12:53 +02:00
show-status.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
shutdown.c shutdown: already sync IO before we enter the final killing spree 2016-07-12 17:38:19 +02:00
slice.c unit: unify some code with new unit_new_for_name() call 2016-11-02 11:29:59 -06:00
slice.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
smack-setup.c tree-wide: indentation fixes 2016-02-26 22:23:38 +01:00
smack-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
socket.c core: prevent invalid socket symlink target dereference (#4895) 2016-12-16 11:20:27 +01:00
socket.h systemd: do not serialize peer, bump count when deserializing socket instead 2016-08-05 08:16:31 -04:00
swap.c core: make unit_free() accept NULL pointers 2016-12-01 00:25:51 +01:00
swap.h core: add a concept of "dynamic" user ids, that are allocated as long as a service is running 2016-07-22 15:53:45 +02:00
system.conf core: add possibility to set action for ctrl-alt-del burst (#4105) 2016-10-06 21:08:21 -04:00
systemd.pc.in build-sys: move systemd.pc from pkgconfiglibdir back into pkgconfigdatadir 2015-04-21 20:35:17 +02:00
target.c core: make sure targets that get a default Conflicts=shutdown.target are also ordered against it 2016-12-14 10:13:52 +01:00
target.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
timer.c tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
timer.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
transaction.c tree-wide: use mfree more 2016-10-16 23:35:39 -04:00
transaction.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
triggers.systemd.in rpm triggers: add note about minimum supported version 2016-04-02 11:35:07 -04:00
umount.c minor code beautifications 2016-12-07 18:38:41 +01:00
umount.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
unit-printf.c core: add a note clarifying that we should be careful when adding new specifiers 2016-12-07 19:10:04 +01:00
unit-printf.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
unit.c core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) 2016-12-16 17:13:58 +01:00
unit.h Merge pull request #4538 from fbuihuu/confirm-spawn-fixes 2016-11-18 11:08:06 +01:00
user.conf core: rename StartLimitInterval= to StartLimitIntervalSec= 2016-04-29 16:27:48 +02:00