diff options
author | Tomas Mraz <tm@t8m.info> | 2006-01-12 10:06:49 +0000 |
---|---|---|
committer | Tomas Mraz <tm@t8m.info> | 2006-01-12 10:06:49 +0000 |
commit | 94483545da687d9dba81175575d07ba9f77a3eb5 (patch) | |
tree | f401c4f560af05cf6bf492eb8a36183b80b80d8d /libpam/pam_session.c | |
parent | 52fa7eff1bc0d56ad8ba8df0764d2c93383e17ef (diff) | |
download | pam-94483545da687d9dba81175575d07ba9f77a3eb5.tar.gz pam-94483545da687d9dba81175575d07ba9f77a3eb5.tar.bz2 pam-94483545da687d9dba81175575d07ba9f77a3eb5.zip |
Relevant BUGIDs:
Purpose of commit: new feature
Commit summary:
---------------
2006-01-12 Steve Grubb <sgrubb@redhat.com>
* 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.
Diffstat (limited to 'libpam/pam_session.c')
-rw-r--r-- | libpam/pam_session.c | 19 |
1 files changed, 17 insertions, 2 deletions
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; + } |