From: Todd C. Miller Date: Tue, 21 Nov 1995 02:27:45 +0000 (+0000) Subject: now uses sudo_pw_ent X-Git-Tag: SUDO_1_4_0~102 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8b5caa7009ca7dbcfeceace3366d1c82be447929;p=sudo now uses sudo_pw_ent --- diff --git a/logging.c b/logging.c index 23972e77a..82c6c1564 100644 --- a/logging.c +++ b/logging.c @@ -58,6 +58,7 @@ static char rcsid[] = "$Id$"; #if defined(HAVE_MALLOC_H) && !defined(STDC_HEADERS) #include #endif /* HAVE_MALLOC_H && !STDC_HEADERS */ +#include #include #include #include @@ -158,7 +159,8 @@ void log_error(code) * necesary for mail and file logs. */ now = time((time_t) 0); - (void) sprintf(logline, "%19.19s : %8.8s : ", ctime(&now), user); + (void) sprintf(logline, "%19.19s : %8.8s : ", ctime(&now), + sudo_pw_ent->pw_name); /* * we need a pointer to the end of logline (XXX - use a #define not 33) @@ -192,7 +194,7 @@ void log_error(code) case GLOBAL_NO_PW_ENT: (void) sprintf(p, "There is no passwd entry for uid %ld (TTY=%s). ", - (long) uid, tty); + (long) sudo_pw_ent->pw_uid, tty); break; case PASSWORD_NOT_CORRECT: @@ -317,9 +319,10 @@ void log_error(code) *tmp = '\0'; if (count == 0) - syslog(pri, "%8.8s : %s", user, p); + syslog(pri, "%8.8s : %s", sudo_pw_ent->pw_name, p); else - syslog(pri, "%8.8s : (command continued) %s", user, p); + syslog(pri, "%8.8s : (command continued) %s", + sudo_pw_ent->pw_name, p); *tmp = save; /* restore saved character */ @@ -328,9 +331,10 @@ void log_error(code) ; } else { if (count == 0) - syslog(pri, "%8.8s : %s", user, p); + syslog(pri, "%8.8s : %s", sudo_pw_ent->pw_name, p); else - syslog(pri, "%8.8s : (command continued) %s", user, p); + syslog(pri, "%8.8s : (command continued) %s", + sudo_pw_ent->pw_name, p); } } closelog(); @@ -536,18 +540,18 @@ void inform_user(code) case VALIDATE_NO_USER: (void) fprintf(stderr, "%s is not in the sudoers file. This incident will be reported.\n\n", - user); + sudo_pw_ent->pw_name); break; case VALIDATE_NOT_OK: if (cmnd_args) (void) fprintf(stderr, "Sorry, user %s is not allowed to execute \"%s %s\" on %s.\n\n", - user, cmnd, cmnd_args, host); + sudo_pw_ent->pw_name, cmnd, cmnd_args, host); else (void) fprintf(stderr, "Sorry, user %s is not allowed to execute \"%s\" on %s.\n\n", - user, cmnd, host); + sudo_pw_ent->pw_name, cmnd, host); break; case VALIDATE_ERROR: diff --git a/sudo.h b/sudo.h index fe838be4a..40e62d5a0 100644 --- a/sudo.h +++ b/sudo.h @@ -158,6 +158,7 @@ int validate __P((int)); void set_perms __P((int)); void remove_timestamp __P((void)); void load_interfaces __P((void)); +struct passwd *sudo_getpwuid __P((uid_t)); /* @@ -165,18 +166,15 @@ void load_interfaces __P((void)); * to be extern'ed here if this is main... */ #ifndef MAIN -extern uid_t uid; extern char host[]; extern char cwd[]; extern struct interface *interfaces; extern int num_interfaces; -extern char *user; +extern struct passwd *sudo_pw_ent; extern char *tty; -extern char *epasswd; extern char *cmnd; extern char *cmnd_args; extern char *prompt; -extern char *shell; extern struct stat cmnd_st; extern int Argc; extern char **Argv;