# endif
#endif /* STDC_HEADERS */
#include <usersec.h>
+#include <uinfo.h>
#include <compat.h>
{
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;
/* 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);
* 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);
struct group *grp;
#ifdef HAVE_SETAUTHDB
- aix_setauthdb(pw->pw_user);
+ aix_setauthdb(pw->pw_name);
#endif
grp = sudo_getgrnam(group);
#ifdef HAVE_SETAUTHDB
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);
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 *));