Validate that two of the -L, -p, and -U options are not used at the same
time after the parsing of options. -U used to be allowed after -p or -L, but not before.
This commit is contained in:
parent
71392cdc8f
commit
488184394e
@ -1,6 +1,12 @@
|
||||
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
|
||||
|
||||
* src/usermod.c: Make usermod -d and -m work independant of the
|
||||
* src/usermod.c: Validate that two of the -L, -p, and -U options
|
||||
are not used at the same time after the parsing of options. -U
|
||||
used to be allowed after -p or -L, but not before.
|
||||
|
||||
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
|
||||
|
||||
* src/usermod.c: Make usermod -d and -m work independent of the
|
||||
argument order. Thanks to Justin Pryzby <jpryzby+d@quoininc.com>
|
||||
for the patch. This fixes Debian's bug #451518.
|
||||
|
||||
|
@ -981,9 +981,6 @@ static void process_flags (int argc, char **argv)
|
||||
user_newname = optarg;
|
||||
break;
|
||||
case 'L':
|
||||
if (Uflg || pflg)
|
||||
usage ();
|
||||
|
||||
Lflg++;
|
||||
break;
|
||||
case 'm':
|
||||
@ -996,9 +993,6 @@ static void process_flags (int argc, char **argv)
|
||||
oflg++;
|
||||
break;
|
||||
case 'p':
|
||||
if (Lflg || Uflg)
|
||||
usage ();
|
||||
|
||||
user_pass = optarg;
|
||||
pflg++;
|
||||
break;
|
||||
@ -1021,9 +1015,6 @@ static void process_flags (int argc, char **argv)
|
||||
uflg++;
|
||||
break;
|
||||
case 'U':
|
||||
if (Lflg && pflg)
|
||||
usage ();
|
||||
|
||||
Uflg++;
|
||||
break;
|
||||
default:
|
||||
@ -1056,6 +1047,14 @@ static void process_flags (int argc, char **argv)
|
||||
exit (E_USAGE);
|
||||
}
|
||||
|
||||
if ((Lflg && (pflg || Uflg)) || (pflg && Uflg)) {
|
||||
fprintf (stderr,
|
||||
_("%s: the -L, -p, and -U flags are exclusive\n"),
|
||||
Prog);
|
||||
usage ();
|
||||
exit (E_USAGE);
|
||||
}
|
||||
|
||||
if (mflg && !dflg) {
|
||||
fprintf (stderr,
|
||||
_("%s: -m flag is ONLY allowed with the -d flag\n"),
|
||||
|
Loading…
Reference in New Issue
Block a user