diff options
author | Sven Eden <yamakuzure@gmx.net> | 2017-04-27 11:30:28 +0200 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-05-17 15:22:16 +0200 |
commit | 66ecc207e203db5434610395cd04c40ae8727b58 (patch) | |
tree | 4808a261a6e58dcdbc9e8616f18cce65b2a49b83 /src/basic/verbs.c | |
parent | 4f8a2329ef626675895974d53a6afad68a0d255a (diff) |
Prep v229: Add missing fixes from upstream [1/6] src/basic
Diffstat (limited to 'src/basic/verbs.c')
-rw-r--r-- | src/basic/verbs.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/basic/verbs.c b/src/basic/verbs.c index d63062d39..d9cdb38d6 100644 --- a/src/basic/verbs.c +++ b/src/basic/verbs.c @@ -1,5 +1,3 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - /*** This file is part of systemd. @@ -19,9 +17,16 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ +#include <errno.h> +#include <getopt.h> +#include <stdbool.h> +#include <stddef.h> + +#include "log.h" +#include "macro.h" #include "string-util.h" -#include "util.h" #include "verbs.h" +#include "virt.h" int dispatch_verb(int argc, char *argv[], const Verb verbs[], void *userdata) { const Verb *verb; @@ -78,6 +83,11 @@ int dispatch_verb(int argc, char *argv[], const Verb verbs[], void *userdata) { return -EINVAL; } + if ((verb->flags & VERB_NOCHROOT) && running_in_chroot() > 0) { + log_info("Running in chroot, ignoring request."); + return 0; + } + if (name) return verb->dispatch(left, argv + optind, userdata); else { |