From efb30ba1a6476240688b218224ac22c0fa77b8d7 Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Mon, 26 Oct 2015 04:23:09 +0000 Subject: core: don't allow manual start with reload-or-restart too fix bug: systemctl reload-or-restart starts a service with RefuseManualStart=yes --- src/core/dbus-unit.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/core') diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c index b2b9eceeb3..7220fe688f 100644 --- a/src/core/dbus-unit.c +++ b/src/core/dbus-unit.c @@ -986,7 +986,8 @@ int bus_unit_queue_job( if ((type == JOB_START && u->refuse_manual_start) || (type == JOB_STOP && u->refuse_manual_stop) || - ((type == JOB_RESTART || type == JOB_TRY_RESTART) && (u->refuse_manual_start || u->refuse_manual_stop))) + ((type == JOB_RESTART || type == JOB_TRY_RESTART) && (u->refuse_manual_start || u->refuse_manual_stop)) || + (type == JOB_RELOAD_OR_START && job_type_collapse(type, u) == JOB_START && u->refuse_manual_start)) return sd_bus_error_setf(error, BUS_ERROR_ONLY_BY_DEPENDENCY, "Operation refused, unit %s may be requested by dependency only.", u->id); r = manager_add_job(u->manager, type, u, mode, true, error, &j); -- cgit v1.2.3-54-g00ecf