su's arguments are now reordered. If needed, use -- to separate su's

options from the shell's options.
This commit is contained in:
nekral-guest 2007-12-26 15:10:48 +00:00
parent 65d0682647
commit e663c696c2
3 changed files with 10 additions and 12 deletions

View File

@ -1,3 +1,8 @@
2007-12-26 Nicolas François <nicolas.francois@centraliens.net>
Merge Debian's patch 480_getopt_args_reorder
* NEWS, src/su.c: su's arguments are now reordered.
2007-12-26 Nicolas François <nicolas.francois@centraliens.net>
Merge RedHat's patch shadow-4.0.18.1-mtime.patch:

3
NEWS
View File

@ -10,6 +10,9 @@ shadow-4.1.0 -> shadow-4.1.1 UNRELEASED
- usermod
* Keep the access and modification time of files when moving an user's home
directory.
- su
* su's arguments are now reordered. If needed, use -- to separate su's
options from the shell's options.
shadow-4.0.18.2 -> shadow-4.1.0 09-12-2008

View File

@ -362,19 +362,9 @@ int main (int argc, char **argv)
};
while ((c =
getopt_long (argc, argv, "-c:hlmps:", long_options,
getopt_long (argc, argv, "c:hlmps:", long_options,
&option_index)) != -1) {
switch (c) {
case 1:
/* this is not an su option */
/* The next arguments are either '-', the
* target name, or arguments to be passed
* to the shell.
*/
/* rewind the (not yet handled) option */
optind--;
goto end_su_options;
break; /* NOT REACHED */
case 'c':
command = optarg;
break;
@ -399,7 +389,7 @@ int main (int argc, char **argv)
usage (); /* NOT REACHED */
}
}
end_su_options:
if (optind < argc && !strcmp (argv[optind], "-")) {
fakelogin = 1;
optind++;