diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-04-12 14:16:29 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-04-12 14:16:29 +0200 |
commit | 0cecbe7d5de237a6c699c67ae53ae2e2481eff43 (patch) | |
tree | a775f19e4b5739d688c56f633584728718e2ae40 /init | |
parent | 783d57af7bb2b851c16cf87df848e0365e5052da (diff) | |
download | busybox-w32-0cecbe7d5de237a6c699c67ae53ae2e2481eff43.tar.gz busybox-w32-0cecbe7d5de237a6c699c67ae53ae2e2481eff43.tar.bz2 busybox-w32-0cecbe7d5de237a6c699c67ae53ae2e2481eff43.zip |
Sort more misplaced applets into coreutils or util-linux
No code changes
Surprisingly, nice and renice are coming from different packages :)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'init')
-rw-r--r-- | init/mesg.c | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/init/mesg.c b/init/mesg.c deleted file mode 100644 index 45c13b8e0..000000000 --- a/init/mesg.c +++ /dev/null | |||
@@ -1,76 +0,0 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | /* | ||
3 | * mesg implementation for busybox | ||
4 | * | ||
5 | * Copyright (c) 2002 Manuel Novoa III <mjn3@codepoet.org> | ||
6 | * | ||
7 | * Licensed under GPLv2 or later, see file LICENSE in this source tree. | ||
8 | */ | ||
9 | |||
10 | //config:config MESG | ||
11 | //config: bool "mesg" | ||
12 | //config: default y | ||
13 | //config: help | ||
14 | //config: Mesg controls access to your terminal by others. It is typically | ||
15 | //config: used to allow or disallow other users to write to your terminal | ||
16 | //config: | ||
17 | //config:config FEATURE_MESG_ENABLE_ONLY_GROUP | ||
18 | //config: bool "Enable writing to tty only by group, not by everybody" | ||
19 | //config: default y | ||
20 | //config: depends on MESG | ||
21 | //config: help | ||
22 | //config: Usually, ttys are owned by group "tty", and "write" tool is | ||
23 | //config: setgid to this group. This way, "mesg y" only needs to enable | ||
24 | //config: "write by owning group" bit in tty mode. | ||
25 | //config: | ||
26 | //config: If you set this option to N, "mesg y" will enable writing | ||
27 | //config: by anybody at all. This is not recommended. | ||
28 | |||
29 | //applet:IF_MESG(APPLET(mesg, BB_DIR_USR_BIN, BB_SUID_DROP)) | ||
30 | |||
31 | //kbuild:lib-$(CONFIG_MESG) += mesg.o | ||
32 | |||
33 | //usage:#define mesg_trivial_usage | ||
34 | //usage: "[y|n]" | ||
35 | //usage:#define mesg_full_usage "\n\n" | ||
36 | //usage: "Control write access to your terminal\n" | ||
37 | //usage: " y Allow write access to your terminal\n" | ||
38 | //usage: " n Disallow write access to your terminal" | ||
39 | |||
40 | #include "libbb.h" | ||
41 | |||
42 | #if ENABLE_FEATURE_MESG_ENABLE_ONLY_GROUP | ||
43 | #define S_IWGRP_OR_S_IWOTH S_IWGRP | ||
44 | #else | ||
45 | #define S_IWGRP_OR_S_IWOTH (S_IWGRP | S_IWOTH) | ||
46 | #endif | ||
47 | |||
48 | int mesg_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | ||
49 | int mesg_main(int argc UNUSED_PARAM, char **argv) | ||
50 | { | ||
51 | struct stat sb; | ||
52 | mode_t m; | ||
53 | char c = 0; | ||
54 | |||
55 | argv++; | ||
56 | |||
57 | if (argv[0] | ||
58 | && (argv[1] || ((c = argv[0][0]) != 'y' && c != 'n')) | ||
59 | ) { | ||
60 | bb_show_usage(); | ||
61 | } | ||
62 | |||
63 | if (!isatty(STDIN_FILENO)) | ||
64 | bb_error_msg_and_die("not a tty"); | ||
65 | |||
66 | xfstat(STDIN_FILENO, &sb, "stderr"); | ||
67 | if (c == 0) { | ||
68 | puts((sb.st_mode & (S_IWGRP|S_IWOTH)) ? "is y" : "is n"); | ||
69 | return EXIT_SUCCESS; | ||
70 | } | ||
71 | m = (c == 'y') ? sb.st_mode | S_IWGRP_OR_S_IWOTH | ||
72 | : sb.st_mode & ~(S_IWGRP|S_IWOTH); | ||
73 | if (fchmod(STDIN_FILENO, m) != 0) | ||
74 | bb_perror_nomsg_and_die(); | ||
75 | return EXIT_SUCCESS; | ||
76 | } | ||