summaryrefslogtreecommitdiff
path: root/src/su.c
AgeCommit message (Collapse)Author
2004-08-03(run_shell): Pass a new n_additional_args arg, so thatPaul Eggert
the callee doesn't have to count 'em. All callers changed. Don't allocate more space for the arg vector than we'll need. Use memcpy to copy the args rather than rolling our own loop. Use size_t for sizes. (fast_startup, simulate_login, change_environment, log_su, correct_password, restricted_shell, main): Use bool for booleans. (longopts): Don't assume change_environment is an int. Use NULL, not 0, for pointers. (xsetenv): New function, replacing xputenv and concat. All callers changed. (elements): Remove; no longer needed. (log_su, correct_passwd, main): Prefer !x to x==NULL. (log_su): 2 -> STDERR_FILENO. (modify_environment, main): Don't assume that getenv's returned value has an indefinite lifetime. (modify_environment): Allocate a larger environ. (main): Remove an impossible 'case 0'; if it happens now, it'll get diagnosed. Don't assume getpwnam results outlive endpwent. Check for null or empty pw_name, pw_dir and for null pw_passwd.
2004-06-01(correct_password, restricted_shell, main):Jim Meyering
Prefer the notation `STREQ (a, b)' over `strcmp (a, b) == 0'.
2004-01-22(usage): Use EXIT_SUCCESS, not 0, for clarity.Jim Meyering
(main): Initialize exit_failure to EXIT_FAIL. (main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE rather than roll-your-own symbols or integers.
2003-10-18Most .c files (AUTHORS): Revert the WRITTEN_BY/AUTHORS changeJim Meyering
of 2003-09-19. Now, AUTHORS is a comma-separated list of strings. Update the call to parse_long_options so that `AUTHORS, NULL' are the last parameters. * src/true.c (main): Append NULL to version_etc argument list. * src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise.
2003-09-18(WRITTEN_BY): Rename from AUTHORS.Jim Meyering
Begin each WRITTEN_BY string with `Written by ' and end it with `.'. Mark each WRITTEN_BY string as translatable.
2003-07-23Don't include headers already included by system.h:Jim Meyering
Don't include closeout.h.
2003-07-18(usage): Don't call close_stdout here.Jim Meyering
(main): Use close_stdout via atexit. Now `su --version > /dev/full' fails, as it should. Somehow, the change of 2000-05-07 that purports to fix this was not checked in.
2003-06-17(main): Call initialize_main.Jim Meyering
2003-04-11Remove anachronistic casts of xmalloc,Jim Meyering
xrealloc, and xcalloc return values and of xrealloc's first argument.
2002-08-31Change `exit (0)' to `exit (EXIT_SUCCESS)',Jim Meyering
`exit (1)' to `exit (EXIT_FAILURE)', and `usage (1)' to `usage (EXIT_FAILURE)'.
2002-08-30Change `error (1, ...' to `error (EXIT_FAILURE, ...'.Jim Meyering
2002-08-01(run_shell): Exit with status 126 or 127 when execvp orJim Meyering
execv fails, for consistency with POSIX commands like env and nice.
2002-07-02(usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it.Jim Meyering
2001-12-15Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTIONJim Meyering
instead of hard-coding --help and --version descriptions. Split --help output into smaller pieces. Use fputs, not printf.
2001-08-14(xputenv): Remove parameter's const qualifier.Jim Meyering
2001-05-12Include "dirname.h".Jim Meyering
(base_name): Remove decl; now in dirname.h.
2001-01-07back out last, prematurely-committed, changeJim Meyering
2001-01-07Correct the indentation of an `#endif'.Jim Meyering
2000-08-07(xputenv): Invoke xalloc_die instead of printing our own message.Jim Meyering
2000-07-23Include <sys/param.h> if HAVE_SYS_PARAM_H is defined,Jim Meyering
rather than if _POSIX_VERSION is defined. Remove declarations of getpwuid, getgrgid, and getuid, now that they're in sys2.h.
2000-05-07Include "closeout.h".Jim Meyering
(main): Call atexit with close_stdout.
2000-02-09(correct_password): Correct HAVE_STRUCT_* name in #if guardJim Meyering
to go along with corrected autoconf test: Reported by G Queri.
2000-01-30(correct_password): Guard with `HAVE_GETSPNAM && HAVE_STRUCT_PASSWD_SP_PWDP',Jim Meyering
rather than just `#ifdef HAVE_SHADOW_H'.
1999-09-08Remove declaration of xstrdup.Jim Meyering
1999-08-30split a long line.Jim Meyering
1999-08-22(run_shell): Declare with noreturn attribute.Jim Meyering
Use an explicit exit(1) rather than doing that through error.
1999-03-31No longer include long-options.h.Jim Meyering
[long_options]: Add entries for --help and --version. Remove parse_long_options call. (main) [getopt switch]: Add a case for each of --help and --version.
1999-03-31(PROGRAM_NAME, AUTHORS): Define and use.Jim Meyering
1999-03-06Include long-options.h.Jim Meyering
[long_options]: Remove the "help" and "version" entries. Remove declarations of show_help and show_version. (main): Use parse_long_options, including author name(s). Remove the show_version and show_help blocks.
1999-02-16update copyright datesJim Meyering
1999-01-25(usage): Remove static attribute.Jim Meyering
1998-09-19update bug-reporting addressJim Meyering
1998-08-30(longopts): Use corresponding short-option characterJim Meyering
in place of `1', and `NULL' in place of pointer in initialization.
1997-12-21Don't include limits.h.Jim Meyering
1997-12-10use NULL, '\0' instead of zeroesJim Meyering
1997-12-10(main): Make sure pw->pw_shell is non-NULL before trying to strdup it.Jim Meyering
Patch from Dick Streefland.
1997-10-25Remove old-style xmalloc and xrealloc decls.Jim Meyering
1997-10-07update bug-reporting addressJim Meyering
1997-07-13indentJim Meyering
1997-07-05Redefine/undef getusershell around inclusion of <unistd.h>Jim Meyering
(via system.h) so Cray's int-returning prototype doesn't conflict with our char*-returning one.
1997-05-27Use base_name, not basename.Jim Meyering
1997-03-19cpp-indentJim Meyering
Change a few #ifdef to #if. Remove 3 spurious #ifdef that were guarding an #undef each.
1997-03-18(log_su): Resort to getpwuid if getlogin fails.Jim Meyering
If no tty name is found, use `none' in the log message. Based on a patch from Galen Hazelwood.
1997-02-09update copyrights for 1997Jim Meyering
1997-02-01bracket bug address with <> and append a periodJim Meyering
1997-02-01Compare getopt_long return value against -1, not EOF. Use NULL, not '(int ↵Jim Meyering
*) 0' as last parameter in getopt_long call.
1996-12-19[HAVE_PATHS_H]: Include <paths.h>.Jim Meyering
[_PATH_DEFPATH]: Use this to define DEFAULT_LOGIN_PATH. [_PATH_DEFPATH_ROOT]: Use this to define DEFAULT_ROOT_LOGIN_PATH. From Rik Faith.
1996-11-03change bug-reporting addressJim Meyering
1996-11-02change bug-reporting addressJim Meyering
1996-10-05(main): update --version output to conform to coding standardJim Meyering