diff options
author | Lennart Poettering <lennart@poettering.net> | 2017-12-11 23:10:11 +0100 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-12-11 23:10:11 +0100 |
commit | 6aafa2772c1c1b27960edf368a9a9ac85bb64dc8 (patch) | |
tree | d38501c4b29e10aea1f66dacc64735934d794996 /src/basic/verbs.c | |
parent | b3826e3b2bd8b5b8eb5365ff084fdc701932f9da (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.c | 8 |
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 { |