* NEWS, src/login.c: Do not log in utmp / utmpx / wtmp when PAM is

enabled. This is already done by pam_lastlog.
This commit is contained in:
nekral-guest
2011-07-23 11:03:50 +00:00
parent 7e8aa5429a
commit 2aefca0f2e
3 changed files with 13 additions and 0 deletions

View File

@@ -1,3 +1,8 @@
2011-07-23 Nicolas François <nicolas.francois@centraliens.net>
* NEWS, src/login.c: Do not log in utmp / utmpx / wtmp when PAM is
enabled. This is already done by pam_lastlog.
2011-07-23 Nicolas François <nicolas.francois@centraliens.net> 2011-07-23 Nicolas François <nicolas.francois@centraliens.net>
* src/chpasswd.c: Add annotations to indicate that usage() does * src/chpasswd.c: Add annotations to indicate that usage() does

2
NEWS
View File

@@ -39,6 +39,8 @@ shadow-4.1.4.3 -> shadow-4.1.5 UNRELEASED
list of TTYs. list of TTYs.
* Fixed warning and support for CONSOLE_GROUPS for users member of more * Fixed warning and support for CONSOLE_GROUPS for users member of more
than 16 groups. than 16 groups.
* Do not log into utmp(x) or wtmp when PAM is enabled. This is done by
pam_lastlog.
- su - su
* Document the su exit values. * Document the su exit values.
* When su receives a signal, wait for the child to terminate (after * When su receives a signal, wait for the child to terminate (after

View File

@@ -126,10 +126,12 @@ static void usage (void);
static void setup_tty (void); static void setup_tty (void);
static void process_flags (int argc, char *const *argv); static void process_flags (int argc, char *const *argv);
static /*@observer@*/const char *get_failent_user (/*@returned@*/const char *user); static /*@observer@*/const char *get_failent_user (/*@returned@*/const char *user);
#ifndef USE_PAM
static void update_utmp (const char *user, static void update_utmp (const char *user,
const char *tty, const char *tty,
const char *host, const char *host,
/*@null@*/const struct utmp *utent); /*@null@*/const struct utmp *utent);
#endif /* ! USE_PAM */
#ifndef USE_PAM #ifndef USE_PAM
static struct faillog faillog; static struct faillog faillog;
@@ -471,6 +473,7 @@ static /*@observer@*/const char *get_failent_user (/*@returned@*/const char *use
return failent_user; return failent_user;
} }
#ifndef USE_PAM
/* /*
* update_utmp - Update or create an utmp entry in utmp, wtmp, utmpw, and * update_utmp - Update or create an utmp entry in utmp, wtmp, utmpw, and
* wtmpx * wtmpx
@@ -496,6 +499,7 @@ static void update_utmp (const char *user,
free (utx); free (utx);
#endif /* USE_UTMPX */ #endif /* USE_UTMPX */
} }
#endif /* ! USE_PAM */
/* /*
* login - create a new login session for a user * login - create a new login session for a user
@@ -1208,11 +1212,13 @@ int main (int argc, char **argv)
} }
} }
#ifndef USE_PAM
/* /*
* The utmp entry needs to be updated to indicate the new status * The utmp entry needs to be updated to indicate the new status
* of the session, the new PID and SID. * of the session, the new PID and SID.
*/ */
update_utmp (username, tty, hostname, utent); update_utmp (username, tty, hostname, utent);
#endif /* ! USE_PAM */
/* The pwd and spwd entries for the user have been copied. /* The pwd and spwd entries for the user have been copied.
* *