46 lines
1.2 KiB
Diff
46 lines
1.2 KiB
Diff
Upstream-Status: Inappropriate [embedded specific]
|
|
|
|
--- tinylogin-1.4/adduser.c.orig 2004-09-30 18:01:46.000000000 +0200
|
|
+++ tinylogin-1.4/adduser.c 2004-09-30 18:07:01.000000000 +0200
|
|
@@ -249,6 +249,7 @@
|
|
struct option long_options[] = {
|
|
{ "home", 1, NULL, 'h' },
|
|
{ "disabled-password", 0, NULL, 'D' },
|
|
+ { "empty-password", 0, NULL, 'E' },
|
|
{ "system", 0, NULL, 'S' },
|
|
{ "ingroup", 1, NULL, 'G' },
|
|
{ "no-create-home", 0, NULL, 'H' },
|
|
@@ -287,7 +288,7 @@
|
|
shell = default_shell;
|
|
|
|
/* get args */
|
|
- while ((opt = getopt_long (argc, argv, "h:g:s:G:DSH", long_options, &option_index)) != -1) {
|
|
+ while ((opt = getopt_long (argc, argv, "h:g:s:G:DESH", long_options, &option_index)) != -1) {
|
|
switch (opt) {
|
|
case 'h':
|
|
home = optarg;
|
|
@@ -304,6 +305,9 @@
|
|
case 'D':
|
|
setpass = 0;
|
|
break;
|
|
+ case 'E':
|
|
+ setpass = -1;
|
|
+ break;
|
|
case 'S':
|
|
system = 1;
|
|
break;
|
|
@@ -338,7 +342,12 @@
|
|
|
|
/* create a passwd struct */
|
|
pw.pw_name = (char *)login;
|
|
- pw.pw_passwd = (char *)default_passwd;
|
|
+ if (setpass != -1)
|
|
+ pw.pw_passwd = (char *)default_passwd;
|
|
+ else {
|
|
+ pw.pw_passwd = (char *)"";
|
|
+ setpass = 0;
|
|
+ }
|
|
pw.pw_uid = 0;
|
|
pw.pw_gid = 0;
|
|
pw.pw_gecos = (char *)gecos;
|