Systemd/src
Zbigniew Jędrzejewski-Szmek bb28e68477 core/load-fragment: refuse units with errors in certain directives
If an error is encountered in any of the Exec* lines, WorkingDirectory,
SELinuxContext, ApparmorProfile, SmackProcessLabel, Service (in .socket
units), User, or Group, refuse to load the unit. If the config stanza
has support, ignore the failure if '-' is present.

For those configuration directives, even if we started the unit, it's
pretty likely that it'll do something unexpected (like write files
in a wrong place, or with a wrong context, or run with wrong permissions,
etc). It seems better to refuse to start the unit and have the admin
clean up the configuration without giving the service a chance to mess
up stuff.

Note that all "security" options that restrict what the unit can do
(Capabilities, AmbientCapabilities, Restrict*, SystemCallFilter, Limit*,
PrivateDevices, Protect*, etc) are _not_ treated like this. Such options are
only supplementary, and are not always available depending on the architecture
and compilation options, so unit authors have to make sure that the service
runs correctly without them anyway.

Fixes #6237, #6277.
2017-07-11 13:38:02 -04:00
..
ac-power
activate tree-wide: set SA_RESTART for signal handlers we install 2016-12-01 12:41:17 +01:00
analyze meson: reindent all files with 8 spaces 2017-04-23 21:47:29 -04:00
ask-password
backlight tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
basic basic: Fix build warning in random-util (#6284) 2017-07-04 17:42:20 -04:00
binfmt
boot sd-boot: stub: Obtain PE section offsets from RAM, not disk (#6250) 2017-07-03 18:14:09 +02:00
busctl busctl: monitor - ignore the final NameLost message 2017-05-25 17:37:50 +02:00
cgls cgroup: change cg_unified() to possibly return errors again 2017-02-24 17:52:58 +01:00
cgroups-agent
cgtop cgtop: check cgroups after parsing options 2017-04-25 08:54:00 -04:00
core core/load-fragment: refuse units with errors in certain directives 2017-07-11 13:38:02 -04:00
coredump meson: use booleans for conf.set and drop unecessary conditionals 2017-05-02 16:29:11 -04:00
cryptsetup Parse "timeout=0" as infinity in various generators (#6264) 2017-07-03 14:29:32 +02: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 detect-virt: add --private-users switch to check if a userns is active 2016-10-26 20:12:51 -04:00
dissect dissect: generate friendly error messages for more error conditions 2017-02-21 21:41:32 +01:00
environment-d-generator Use "dollar-single-quotes" to escape shell-sensitive strings 2017-06-19 19:39:43 -04:00
escape tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
firstboot basic/random-util: do not fall back to /dev/urandom if getrandom() returns short 2017-06-28 10:32:02 -04:00
fsck util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
fstab-generator fstab-generator: fix new NULL dereference. (#6296) 2017-07-05 22:53:41 -04:00
getty-generator
gpt-auto-generator gpt-auto-generator: fix the handling of the value returned by fstab_has_fstype() in add_swap() (#6280) 2017-07-04 11:41:09 -04:00
hibernate-resume util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
hostname meson: use booleans for conf.set and drop unecessary conditionals 2017-05-02 16:29:11 -04:00
hwdb hwdb: use path_join() to generate the hwdb_bin path (#6063) 2017-05-31 21:21:11 -04:00
import importd: log more information when renaming files 2017-06-26 20:32:40 +02:00
initctl Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
journal Merge pull request #5930 from larskarlitski/journal-skip 2017-06-27 22:10:38 +02:00
journal-remote time-util: rename usec_sub() to usec_sub_signed() and add usec_sub_unsigned() 2017-06-22 20:51:06 +02:00
kernel-install kernel-install: support the case /etc/machine-id is missing or empty (#5975) 2017-05-30 09:45:10 -04:00
libsystemd Merge pull request #6194 from keszybz/urandom-magic 2017-06-30 13:05:56 -04:00
libsystemd-network Merge pull request #6116 from richardmaw-codethink/networkd-carrier-fixes 2017-06-26 20:55:36 +02:00
libudev tree-wide: when %m is used in log_*, always specify errno explicitly 2017-05-19 14:24:03 -04:00
locale localed: improve the comment in 00-keyboard.conf 2017-06-28 22:37:02 -04:00
login logind: relax udev rules matching devices logind watches for 2017-06-27 19:25:46 +02:00
machine Fix includes (#5980) 2017-05-19 10:01:35 -04: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 systemd-mount: support relative paths 2017-07-05 21:55:50 +09:00
network Merge pull request #6067 from ssahani/networkctl 2017-06-27 11:41:09 -04:00
notify Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
nspawn Merge pull request #6257 from keszybz/unnecessary-job-log 2017-07-03 10:48:28 +02:00
nss-myhostname nss: fix error to ERANGE for nss calls with too little buffer space (#5365) 2017-02-16 21:29:09 +01:00
nss-mymachines nss: fix error to ERANGE for nss calls with too little buffer space (#5365) 2017-02-16 21:29:09 +01:00
nss-resolve nss-resolve: drop the internal fallback to libnss_dns (#5945) 2017-05-12 14:31:46 +02:00
nss-systemd nss: fix error to ERANGE for nss calls with too little buffer space (#5365) 2017-02-16 21:29:09 +01:00
path
quotacheck qutoacheck,gpt-auto-generator: trivial coding style improvements 2016-12-21 19:09:28 +01:00
random-seed
rc-local-generator rc-local-generator: drop duplicate definitions for rc.local 2017-04-19 19:27:01 -04:00
remount-fs tree-wide: always invoke setmntent() with "re" mode 2016-12-20 20:00:09 +01:00
reply-password treewide: replace homegrown memory_erase with explicit_bzero 2017-02-05 21:07:55 -05:00
resolve resolve: Try to remove the ambiguity about the mtu parameter of dns_packet_new (#6285) 2017-07-05 22:56:17 -04:00
rfkill tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
run run: also pin unit when we we are in --pty mode 2017-02-28 18:35:05 +01:00
shared Merge pull request #6255 from keszybz/property-escaping 2017-07-04 09:39:56 +02:00
sleep Merge pull request #5131 from keszybz/environment-generators 2017-02-21 11:11:44 +01:00
socket-proxy socket-proxyd: fix --connections-max help message and docs (#5044) 2017-01-10 08:55:50 +01:00
stdio-bridge tree-wide: when %m is used in log_*, always specify errno explicitly 2017-05-19 14:24:03 -04:00
sulogin-shell sulogin-shell: avoid heredocs 2017-05-30 17:03:25 -04:00
sysctl sysctl: minor simplification 2016-11-02 11:39:48 -06:00
system-update-generator system-update-generator: warn if the command line blocks updates (#5173) 2017-02-01 21:50:03 +01:00
systemctl systemctl: print next timer trigger time with the status verb (#6242) 2017-07-04 17:51:02 -04:00
systemd networkctl: display address labels 2017-06-27 10:15:27 -04:00
sysusers sysusers: make use of cleanup(unlink_and_freep) in write_files() and its auxiliary helpers 2017-05-10 14:29:21 +02:00
sysv-generator sysv-generator: Provides: $network should also pull network.target to transaction (#5652) 2017-03-30 11:12:50 +02:00
test core/load-fragment: refuse units with errors in certain directives 2017-07-11 13:38:02 -04:00
timedate meson: use booleans for conf.set and drop unecessary conditionals 2017-05-02 16:29:11 -04:00
timesync timesyncd: properly handle OOM errors when parsing fallback servers (#6047) 2017-05-30 14:49:35 +02:00
tmpfiles tree-wide: when %m is used in log_*, always specify errno explicitly 2017-05-19 14:24:03 -04:00
tty-ask-password-agent treewide: replace homegrown memory_erase with explicit_bzero 2017-02-05 21:07:55 -05:00
udev udev: move the KEY_* defines to missing.h (#6278) 2017-07-04 09:41:46 +02:00
update-done update-done: use newly added library function to write the file 2017-05-11 13:43:53 -04:00
update-utmp Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
user-sessions
vconsole vconsole: search for usable source console (#6180) 2017-07-03 12:38:13 -04:00
veritysetup tree-wide: remove consecutive duplicate words in comments (#5148) 2017-01-24 21:45:30 -05:00
volatile-root fstab-generator: add support for volatile boots 2016-12-21 19:09:29 +01:00
.gitignore
Makefile