summaryrefslogtreecommitdiff
path: root/libpam/pam_start.c
diff options
context:
space:
mode:
authorThorsten Kukuk <kukuk@thkukuk.de>2008-12-11 19:41:49 +0000
committerThorsten Kukuk <kukuk@thkukuk.de>2008-12-11 19:41:49 +0000
commita1131337d71a61da5b3b5e129545d3257a709480 (patch)
treea2a9c49346bcb8912b31916f40f96d67479f0c36 /libpam/pam_start.c
parent300b741a23d95cd44fa391905d6edce8340c8fee (diff)
Relevant BUGIDs:
Purpose of commit: new feature Commit summary: --------------- 2008-12-10 Thorsten Kukuk <kukuk@thkukuk.de> * doc/man/pam_item_types_ext.inc.xml: Document PAM_AUTHTOK_TYPE. * libpam/pam_end.c (pam_end): Free authtok_type. * tests/tst-pam_get_item.c: Add PAM_AUTHTOK_TYPE as test case. * tests/tst-pam_set_item.c: Likewise. * libpam/pam_start.c (pam_start): Initialize xdisplay, xauth and authtok_type. * libpam/pam_get_authtok.c (pam_get_authtok): Rename "type" to "authtok_type". * modules/pam_cracklib/pam_cracklib.8.xml: Replace "type=" with "authtok_type=". * doc/man/pam_get_authtok.3.xml: Document authtok_type argument. * modules/pam_cracklib/pam_cracklib.c (pam_sm_chauthtok): Set type= argument as PAM_AUTHTOK_TYPE item. * libpam/pam_get_authtok.c (pam_get_authtok): If no type argument given, use PAM_AUTHTOK_TYPE item. * libpam/pam_item.c (pam_get_item): Fetch PAM_AUTHTOK_TYPE item. (pam_set_item): Store PAM_AUTHTOK_TYPE item. * libpam/pam_private.h: Add authtok_type to pam_handle. * libpam/include/security/_pam_types.h (PAM_AUTHTOK_TYPE): New.
Diffstat (limited to 'libpam/pam_start.c')
-rw-r--r--libpam/pam_start.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libpam/pam_start.c b/libpam/pam_start.c
index 7b0d3aa4..b7cd771e 100644
--- a/libpam/pam_start.c
+++ b/libpam/pam_start.c
@@ -51,7 +51,7 @@ int pam_start (
else. Forbid paths. */
if (strrchr(service_name, '/') != NULL)
service_name = strrchr(service_name, '/') + 1;
-
+
/* Mark the caller as the application - permission to do certain
things is limited to a module or an application */
@@ -92,6 +92,9 @@ int pam_start (
#ifdef HAVE_LIBAUDIT
(*pamh)->audit_state = 0;
#endif
+ (*pamh)->xdisplay = NULL;
+ (*pamh)->authtok_type = NULL;
+ memset (&((*pamh)->xauth), 0, sizeof ((*pamh)->xauth));
if (((*pamh)->pam_conversation = (struct pam_conv *)
malloc(sizeof(struct pam_conv))) == NULL) {
@@ -129,7 +132,7 @@ int pam_start (
_pam_drop(*pamh);
return PAM_ABORT;
}
-
+
D(("exiting pam_start successfully"));
return PAM_SUCCESS;