Imported Upstream version 1.1.6
[platform/upstream/pam.git] / libpam / pam_session.c
1 /* pam_session.c - PAM Session Management */
2
3 /*
4  * $Id$
5  */
6
7 #include "pam_private.h"
8
9 #include <stdio.h>
10
11 int pam_open_session(pam_handle_t *pamh, int flags)
12 {
13     int retval;
14
15     D(("called"));
16
17     IF_NO_PAMH("pam_open_session", pamh, PAM_SYSTEM_ERR);
18
19     if (__PAM_FROM_MODULE(pamh)) {
20         D(("called from module!?"));
21         return PAM_SYSTEM_ERR;
22     }
23     retval = _pam_dispatch(pamh, flags, PAM_OPEN_SESSION);
24
25 #ifdef HAVE_LIBAUDIT
26     retval = _pam_auditlog(pamh, PAM_OPEN_SESSION, retval, flags);
27 #endif
28     return retval;
29 }
30
31 int pam_close_session(pam_handle_t *pamh, int flags)
32 {
33     int retval;
34
35     D(("called"));
36
37     IF_NO_PAMH("pam_close_session", pamh, PAM_SYSTEM_ERR);
38
39     if (__PAM_FROM_MODULE(pamh)) {
40         D(("called from module!?"));
41         return PAM_SYSTEM_ERR;
42     }
43
44     retval = _pam_dispatch(pamh, flags, PAM_CLOSE_SESSION);
45
46 #ifdef HAVE_LIBAUDIT
47     retval = _pam_auditlog(pamh, PAM_CLOSE_SESSION, retval, flags);
48 #endif
49
50     return retval;
51
52 }