diff options
author | Andrew G. Morgan <morgan@kernel.org> | 2003-01-14 05:43:07 +0000 |
---|---|---|
committer | Andrew G. Morgan <morgan@kernel.org> | 2003-01-14 05:43:07 +0000 |
commit | 7050b307e9e712471d987e0c5f8dd1cb2260511c (patch) | |
tree | 5bf06d87cc804cb3255e12d0cb1b47064a2d1755 /modules/pam_unix/pam_unix_sess.c | |
parent | 2b71955aec63541e4b071c12eae9fba76e7085fa (diff) | |
download | pam-7050b307e9e712471d987e0c5f8dd1cb2260511c.tar.gz pam-7050b307e9e712471d987e0c5f8dd1cb2260511c.tar.bz2 pam-7050b307e9e712471d987e0c5f8dd1cb2260511c.zip |
Relevant BUGIDs: 667584 664290
Purpose of commit: bugfix
Commit summary:
---------------
Two bug fixes in one: don't trust getlogin() and sanely lower the
time the password databases are locked in pam_unix.
Diffstat (limited to 'modules/pam_unix/pam_unix_sess.c')
-rw-r--r-- | modules/pam_unix/pam_unix_sess.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/modules/pam_unix/pam_unix_sess.c b/modules/pam_unix/pam_unix_sess.c index faef3e42..7f2a6876 100644 --- a/modules/pam_unix/pam_unix_sess.c +++ b/modules/pam_unix/pam_unix_sess.c @@ -53,6 +53,7 @@ #include <security/_pam_macros.h> #include <security/pam_modules.h> +#include <security/_pam_modutil.h> #ifndef LINUX_PAM #include <security/pam_appl.h> @@ -71,6 +72,7 @@ PAM_EXTERN int pam_sm_open_session(pam_handle_t * pamh, int flags, char *user_name, *service; unsigned int ctrl; int retval; + const char *login_name; D(("called.")); @@ -89,9 +91,12 @@ PAM_EXTERN int pam_sm_open_session(pam_handle_t * pamh, int flags, "open_session - error recovering service"); return PAM_SESSION_ERR; } - _log_err(LOG_INFO, pamh, "session opened for user %s by %s(uid=%d)" - ,user_name - ,PAM_getlogin() == NULL ? "" : PAM_getlogin(), getuid()); + login_name = _pammodutil_getlogin(pamh); + if (login_name == NULL) { + login_name = ""; + } + _log_err(LOG_INFO, pamh, "session opened for user %s by %s(uid=%d)", + user_name, login_name, getuid()); return PAM_SUCCESS; } |