From 74e6f665e6e717d965ef8d47745aa5881539525a Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Wed, 16 Jun 2010 15:35:28 -0400 Subject: [PATCH] Fix AIX compilation problems. --HG-- branch : 1.7 --- aix.c | 8 +++++--- pwutil.c | 4 ++-- set_perms.c | 2 +- sudo.h | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/aix.c b/aix.c index e70abb71a..d2f2f66a8 100644 --- a/aix.c +++ b/aix.c @@ -29,6 +29,7 @@ # endif #endif /* STDC_HEADERS */ #include +#include #include @@ -163,15 +164,16 @@ aix_restoreauthdb() { if (saved_authsys[0]) { if (setauthdb(saved_authsys, NULL) != 0) - error(1, "unable to restore authsystem \"%s\", saved_authsys); + error(1, "unable to restore authsystem \"%s\"", saved_authsys); saved_authsys[0] = '\0'; } } #endif void -aix_prep_user(user) +aix_prep_user(user, tty) char *user; + char *tty; { char *info; int len; @@ -179,7 +181,7 @@ aix_prep_user(user) /* set usrinfo, like login(1) does */ /* XXX - should NAME field be pw_gecos? */ len = easprintf(&info, "NAME=%s%cLOGIN=%s%cLOGNAME=%s%cTTY=%s%c", - user, '\0', user, '\0', user, '\0', user_ttypath ? user_ttypath : ""); + user, '\0', user, '\0', user, '\0', tty ? tty : ""); (void)usrinfo(SETUINFO, info, len); efree(info); diff --git a/pwutil.c b/pwutil.c index 2895e70cd..3b06b06dd 100644 --- a/pwutil.c +++ b/pwutil.c @@ -225,7 +225,7 @@ sudo_getpwnam(name) * Cache passwd db entry if it exists or a negative response if not. */ #ifdef HAVE_SETAUTHDB - aix_setauthdb(user); + aix_setauthdb(name); #endif if ((pw = getpwnam(name)) != NULL) { pw = sudo_pwdup(pw); @@ -573,7 +573,7 @@ user_in_group(pw, group) struct group *grp; #ifdef HAVE_SETAUTHDB - aix_setauthdb(pw->pw_user); + aix_setauthdb(pw->pw_name); #endif grp = sudo_getgrnam(group); #ifdef HAVE_SETAUTHDB diff --git a/set_perms.c b/set_perms.c index a8d6301e6..cb0838561 100644 --- a/set_perms.c +++ b/set_perms.c @@ -554,7 +554,7 @@ runas_setup(dowait) if (runas_pw->pw_name != NULL) { gid = runas_gr ? runas_gr->gr_gid : runas_pw->pw_gid; #ifdef HAVE_GETUSERATTR - aix_prep_user(runas_pw->pw_name); + aix_prep_user(runas_pw->pw_name, user_ttypath); #endif #ifdef HAVE_PAM pam_begin_session(runas_pw); diff --git a/sudo.h b/sudo.h index 5915e03f7..d62b359b9 100644 --- a/sudo.h +++ b/sudo.h @@ -211,7 +211,7 @@ struct passwd; struct stat; /* aix.c */ -void aix_prep_user __P((char *)); +void aix_prep_user __P((char *, char *)); /* boottime.c */ int get_boottime __P((struct timeval *)); -- 2.40.0