* 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>
|
2012-05-17 Christian Perrier <bubulle@Êebian.org>
|
||||||
|
|
||||||
* man/po/fr.po: French translation of manpages completed
|
* 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
|
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
|
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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef USE_PAM
|
||||||
/*
|
/*
|
||||||
* Some systems already have updwtmp() and possibly updwtmpx(). Others
|
* Some systems already have updwtmp() and possibly updwtmpx(). Others
|
||||||
* don't, so we re-implement these functions if necessary.
|
* 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 /* ! HAVE_UPDWTMPX */
|
||||||
#endif /* ! USE_UTMPX */
|
#endif /* ! USE_UTMPX */
|
||||||
|
#endif /* ! USE_PAM */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -313,7 +315,10 @@ int setutmp (struct utmp *ut)
|
|||||||
}
|
}
|
||||||
endutent ();
|
endutent ();
|
||||||
|
|
||||||
|
#ifndef USE_PAM
|
||||||
|
/* This is done by pam_lastlog */
|
||||||
updwtmp (_WTMP_FILE, ut);
|
updwtmp (_WTMP_FILE, ut);
|
||||||
|
#endif /* ! USE_PAM */
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@ -446,7 +451,10 @@ int setutmpx (struct utmpx *utx)
|
|||||||
}
|
}
|
||||||
endutxent ();
|
endutxent ();
|
||||||
|
|
||||||
|
#ifndef USE_PAM
|
||||||
|
/* This is done by pam_lastlog */
|
||||||
updwtmpx (_WTMP_FILE "x", utx);
|
updwtmpx (_WTMP_FILE "x", utx);
|
||||||
|
#endif /* ! USE_PAM */
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -126,12 +126,10 @@ 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;
|
||||||
@ -473,7 +471,6 @@ 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
|
||||||
@ -499,7 +496,6 @@ 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
|
||||||
@ -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
|
* 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.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user