diff options
Diffstat (limited to 'src/manager.c')
-rw-r--r-- | src/manager.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/manager.c b/src/manager.c index 0afc99243e..f542883b34 100644 --- a/src/manager.c +++ b/src/manager.c @@ -1523,6 +1523,11 @@ int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool ove return -EINVAL; } + if (mode == JOB_ISOLATE && !unit->meta.allow_isolate) { + dbus_set_error(e, BUS_ERROR_NO_ISOLATION, "Operation refused, unit may not be isolated."); + return -EPERM; + } + log_debug("Trying to enqueue job %s/%s", unit->meta.id, job_type_to_string(type)); if ((r = transaction_add_job_and_dependencies(m, type, unit, NULL, true, override, false, e, &ret)) < 0) { |