From eff580744c339432889fd612d9f46fcbde818bd4 Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Mon, 26 Oct 2015 00:20:49 +0000 Subject: run: can launch units with ProtectHome --- src/core/dbus-execute.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/core/dbus-execute.c') diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c index af352531a4..6f1e0dc6ac 100644 --- a/src/core/dbus-execute.c +++ b/src/core/dbus-execute.c @@ -1361,6 +1361,32 @@ int bus_exec_context_set_transient_property( return 1; + } else if (streq(name, "ProtectHome")) { + const char *s; + ProtectHome ph; + + r = sd_bus_message_read(message, "s", &s); + if (r < 0) + return r; + + r = parse_boolean(s); + if (r > 0) + ph = PROTECT_HOME_YES; + else if (r == 0) + ph = PROTECT_HOME_NO; + else { + ph = protect_home_from_string(s); + if (ph < 0) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Failed to parse protect home value"); + } + + if (mode != UNIT_CHECK) { + c->protect_home = ph; + unit_write_drop_in_private_format(u, mode, name, "%s=%s\n", name, s); + } + + return 1; + } else if (rlimit_from_string(name) >= 0) { uint64_t rl; rlim_t x; -- cgit v1.2.3-54-g00ecf