]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/nspawn/test-patch-uid.c
tree-wide: drop 'This file is part of systemd' blurb
[thirdparty/systemd.git] / src / nspawn / test-patch-uid.c
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
7336138e 2/***
7336138e 3 Copyright 2016 Lennart Poettering
7336138e
LP
4***/
5
6#include <stdlib.h>
7
8#include "log.h"
9#include "nspawn-patch-uid.h"
10#include "user-util.h"
11#include "util.h"
12
13int main(int argc, char *argv[]) {
14 uid_t shift, range;
15 int r;
16
17 log_set_max_level(LOG_DEBUG);
18 log_parse_environment();
19 log_open();
20
21 if (argc != 4) {
22 log_error("Expected PATH SHIFT RANGE parameters.");
23 return EXIT_FAILURE;
24 }
25
26 r = parse_uid(argv[2], &shift);
27 if (r < 0) {
28 log_error_errno(r, "Failed to parse UID shift %s.", argv[2]);
29 return EXIT_FAILURE;
30 }
31
32 r = parse_gid(argv[3], &range);
33 if (r < 0) {
34 log_error_errno(r, "Failed to parse UID range %s.", argv[3]);
35 return EXIT_FAILURE;
36 }
37
38 r = path_patch_uid(argv[1], shift, range);
39 if (r < 0) {
40 log_error_errno(r, "Failed to patch directory tree: %m");
41 return EXIT_FAILURE;
42 }
43
44 log_info("Changed: %s", yes_no(r));
45
46 return EXIT_SUCCESS;
47}