summaryrefslogtreecommitdiff
path: root/src/service.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-06-19 16:57:54 +0200
committerLennart Poettering <lennart@poettering.net>2010-06-19 16:57:54 +0200
commit4d0e5dbd52291ae49740adb006bfc2595b953ec5 (patch)
treeee8b72d08b0945914b8aaf652222987cc33935e9 /src/service.c
parent399ab2b1ac07be5afa9708b3280d4e1a4cceb5b8 (diff)
service: require KillMode=control-group when PAM is enabled
Diffstat (limited to 'src/service.c')
-rw-r--r--src/service.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/service.c b/src/service.c
index ba60b8f879..aff355112d 100644
--- a/src/service.c
+++ b/src/service.c
@@ -817,7 +817,12 @@ static int service_verify(Service *s) {
}
if (s->type == SERVICE_DBUS && !s->bus_name) {
- log_error("%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->meta.id);
+ log_error("%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", s->meta.id);
+ return -EINVAL;
+ }
+
+ if (s->exec_context.pam_name && s->kill_mode != KILL_CONTROL_GROUP) {
+ log_error("%s has PAM enabled. Kill mode must be set to 'control-group'. Refusing.", s->meta.id);
return -EINVAL;
}