* NEWS, src/login.c: Log in utmp / utmpx / wtmp also when PAM is
enabled. This is not done by pam_lastlog. This was broken on 2011-07-23. * NEWS, libmisc/utmp.c: Do not log in wtmp when PAM is enabled. This is done by pam_lastlog.
This commit is contained in:
parent
f741583f1a
commit
f243d4077d
@ -1,3 +1,11 @@
|
||||
2012-05-17 Nicolas François <nicolas.francois@centraliens.net>
|
||||
|
||||
* NEWS, src/login.c: Log in utmp / utmpx / wtmp also when PAM is
|
||||
enabled. This is not done by pam_lastlog. This was broken on
|
||||
2011-07-23.
|
||||
* NEWS, libmisc/utmp.c: Do not log in wtmp when PAM is enabled.
|
||||
This is done by pam_lastlog.
|
||||
|
||||
2012-05-17 Christian Perrier <bubulle@Êebian.org>
|
||||
|
||||
* man/po/fr.po: French translation of manpages completed
|
||||
|
4
NEWS
4
NEWS
@ -2,7 +2,9 @@ $Id$
|
||||
|
||||
shadow-4.1.5 -> shadow-4.1.5.1 UNRELEASED
|
||||
|
||||
|
||||
- login
|
||||
* Log into utmp(x) when PAM is enabled, but do not log into wtmp.
|
||||
This complete pam_lastlog which logs into wtmp and in into utmp(x).
|
||||
|
||||
shadow-4.1.4.3 -> shadow-4.1.5 2012-02-12
|
||||
|
||||
|
@ -129,6 +129,7 @@ static bool is_my_tty (const char *tty)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifndef USE_PAM
|
||||
/*
|
||||
* Some systems already have updwtmp() and possibly updwtmpx(). Others
|
||||
* don't, so we re-implement these functions if necessary.
|
||||
@ -160,6 +161,7 @@ static void updwtmpx (const char *filename, const struct utmpx *utx)
|
||||
}
|
||||
#endif /* ! HAVE_UPDWTMPX */
|
||||
#endif /* ! USE_UTMPX */
|
||||
#endif /* ! USE_PAM */
|
||||
|
||||
|
||||
/*
|
||||
@ -313,7 +315,10 @@ int setutmp (struct utmp *ut)
|
||||
}
|
||||
endutent ();
|
||||
|
||||
#ifndef USE_PAM
|
||||
/* This is done by pam_lastlog */
|
||||
updwtmp (_WTMP_FILE, ut);
|
||||
#endif /* ! USE_PAM */
|
||||
|
||||
return err;
|
||||
}
|
||||
@ -446,7 +451,10 @@ int setutmpx (struct utmpx *utx)
|
||||
}
|
||||
endutxent ();
|
||||
|
||||
#ifndef USE_PAM
|
||||
/* This is done by pam_lastlog */
|
||||
updwtmpx (_WTMP_FILE "x", utx);
|
||||
#endif /* ! USE_PAM */
|
||||
|
||||
return err;
|
||||
}
|
||||
|
@ -126,12 +126,10 @@ static void usage (void);
|
||||
static void setup_tty (void);
|
||||
static void process_flags (int argc, char *const *argv);
|
||||
static /*@observer@*/const char *get_failent_user (/*@returned@*/const char *user);
|
||||
#ifndef USE_PAM
|
||||
static void update_utmp (const char *user,
|
||||
const char *tty,
|
||||
const char *host,
|
||||
/*@null@*/const struct utmp *utent);
|
||||
#endif /* ! USE_PAM */
|
||||
|
||||
#ifndef USE_PAM
|
||||
static struct faillog faillog;
|
||||
@ -473,7 +471,6 @@ static /*@observer@*/const char *get_failent_user (/*@returned@*/const char *use
|
||||
return failent_user;
|
||||
}
|
||||
|
||||
#ifndef USE_PAM
|
||||
/*
|
||||
* update_utmp - Update or create an utmp entry in utmp, wtmp, utmpw, and
|
||||
* wtmpx
|
||||
@ -499,7 +496,6 @@ static void update_utmp (const char *user,
|
||||
free (utx);
|
||||
#endif /* USE_UTMPX */
|
||||
}
|
||||
#endif /* ! USE_PAM */
|
||||
|
||||
/*
|
||||
* login - create a new login session for a user
|
||||
@ -1215,13 +1211,11 @@ int main (int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef USE_PAM
|
||||
/*
|
||||
* The utmp entry needs to be updated to indicate the new status
|
||||
* of the session, the new PID and SID.
|
||||
*/
|
||||
update_utmp (username, tty, hostname, utent);
|
||||
#endif /* ! USE_PAM */
|
||||
|
||||
/* The pwd and spwd entries for the user have been copied.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user