From 94483545da687d9dba81175575d07ba9f77a3eb5 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 12 Jan 2006 10:06:49 +0000 Subject: Relevant BUGIDs: Purpose of commit: new feature Commit summary: --------------- 2006-01-12 Steve Grubb * configure.in: Add check for audit library. * libpam/Makefile.am (libpam_la_LDFLAGS): Add LIBAUDIT. (libpam_la_SOURCES): Add pam_audit.c. * libpam/pam_account.c (pam_acct_mgmt): Add _pam_auditlog() call. * libpam/pam_auth.c (pam_authenticate), (pam_setcred): Likewise. * libpam/pam_password.c (pam_chauthtok): Likewise. * libpam/pam_session.c (pam_open_session), (pam_close_session): Likewise. * libpam/pam_private.h: Add audit_state member to pam_handle, declare _pam_auditlog and _pam_audit_end. * libpam/pam_start.c (pam_start): Initialize audit_state. * libpam/pam_audit.c: New file with _pam_auditlog and _pam_audit_end implementation. * libpam/pam_end.c (pam_end): Add _pam_audit_end() call. * NEWS: Note about added auditing. --- libpam/pam_session.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'libpam/pam_session.c') diff --git a/libpam/pam_session.c b/libpam/pam_session.c index 98125ba6..a0f2d8d7 100644 --- a/libpam/pam_session.c +++ b/libpam/pam_session.c @@ -10,6 +10,8 @@ int pam_open_session(pam_handle_t *pamh, int flags) { + int retval; + D(("called")); IF_NO_PAMH("pam_open_session", pamh, PAM_SYSTEM_ERR); @@ -18,12 +20,18 @@ int pam_open_session(pam_handle_t *pamh, int flags) D(("called from module!?")); return PAM_SYSTEM_ERR; } + retval = _pam_dispatch(pamh, flags, PAM_OPEN_SESSION); - return _pam_dispatch(pamh, flags, PAM_OPEN_SESSION); +#if HAVE_LIBAUDIT + retval = _pam_auditlog(pamh, PAM_OPEN_SESSION, retval, flags); +#endif + return retval; } int pam_close_session(pam_handle_t *pamh, int flags) { + int retval; + D(("called")); IF_NO_PAMH("pam_close_session", pamh, PAM_SYSTEM_ERR); @@ -33,5 +41,12 @@ int pam_close_session(pam_handle_t *pamh, int flags) return PAM_SYSTEM_ERR; } - return _pam_dispatch(pamh, flags, PAM_CLOSE_SESSION); + retval = _pam_dispatch(pamh, flags, PAM_CLOSE_SESSION); + +#if HAVE_LIBAUDIT + retval = _pam_auditlog(pamh, PAM_CLOSE_SESSION, retval, flags); +#endif + + return retval; + } -- cgit v1.2.3