summaryrefslogtreecommitdiff
path: root/src/basic/verbs.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-12-11 23:10:11 +0100
committerSven Eden <yamakuzure@gmx.net>2017-12-11 23:10:11 +0100
commit6aafa2772c1c1b27960edf368a9a9ac85bb64dc8 (patch)
treed38501c4b29e10aea1f66dacc64735934d794996 /src/basic/verbs.c
parentb3826e3b2bd8b5b8eb5365ff084fdc701932f9da (diff)
verbs: add a new VERB_MUSTBEROOT flag
Given that we regularly have verbs that require privileges, let's just make this a flag of the verb.
Diffstat (limited to 'src/basic/verbs.c')
-rw-r--r--src/basic/verbs.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/basic/verbs.c b/src/basic/verbs.c
index d9cdb38d6..f446d1c9b 100644
--- a/src/basic/verbs.c
+++ b/src/basic/verbs.c
@@ -32,7 +32,7 @@ int dispatch_verb(int argc, char *argv[], const Verb verbs[], void *userdata) {
const Verb *verb;
const char *name;
unsigned i;
- int left;
+ int left, r;
assert(verbs);
assert(verbs[0].dispatch);
@@ -88,6 +88,12 @@ int dispatch_verb(int argc, char *argv[], const Verb verbs[], void *userdata) {
return 0;
}
+ if (verb->flags & VERB_MUSTBEROOT) {
+ r = must_be_root();
+ if (r < 0)
+ return r;
+ }
+
if (name)
return verb->dispatch(left, argv + optind, userdata);
else {