blob: cb615c381edfc87c843ff1d44922644248a958a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
diff -Nuar busybox-1.9.1.old/loginutils/Config.in busybox-1.9.1/loginutils/Config.in
--- busybox-1.9.1.old/loginutils/Config.in Tue Feb 12 10:03:11 2008
+++ busybox-1.9.1/loginutils/Config.in Thu Feb 14 11:48:31 2008
@@ -88,6 +88,13 @@
help
Utility for creating a new user account.
+config FEATURE_ADDUSER_LONG_OPTIONS
+ bool "Enable long options"
+ default n
+ depends on ADDUSER && GETOPT_LONG
+ help
+ Support long options for the adduser applet.
+
config DELUSER
bool "deluser"
default n
diff -Nuar busybox-1.9.1.old/loginutils/adduser.c busybox-1.9.1/loginutils/adduser.c
--- busybox-1.9.1.old/loginutils/adduser.c Thu Feb 14 10:25:33 2008
+++ busybox-1.9.1/loginutils/adduser.c Thu Feb 14 13:32:47 2008
@@ -66,6 +66,19 @@
bb_error_msg_and_die("cannot execute %s, you must set password manually", prog);
}
+#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS
+static const char adduser_longopts[] ALIGN1 =
+ "home\0" Required_argument "h"
+ "gecos\0" Required_argument "g"
+ "shell\0" Required_argument "s"
+ "ingroup\0" Required_argument "G"
+ "disabled-password\0" No_argument "D"
+ "empty-password\0" No_argument "D"
+ "system\0" No_argument "S"
+ "no-create-home\0" No_argument "H"
+ ;
+#endif
+
/*
* adduser will take a login_name as its first parameter.
* home, shell, gecos:
@@ -77,6 +90,10 @@
struct passwd pw;
const char *usegroup = NULL;
FILE *file;
+
+#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS
+ applet_long_options = adduser_longopts;
+#endif
/* got root? */
if (geteuid()) {
|