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