From 3a265f6249e17882cf0195dd1fe7abb94cd3160f Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Thu, 1 Sep 2005 13:59:20 +0000 Subject: Relevant BUGIDs: none Purpose of commit: new feature Commit summary: --------------- Add PAM extensions pam_*prompt, pam_*error and pam_*info for usage by modules to libpam, add new pam_ext.h header file with prototypes. --- modules/pam_debug/pam_debug.c | 47 ++++++++++++++++--------------------------- 1 file changed, 17 insertions(+), 30 deletions(-) (limited to 'modules/pam_debug') diff --git a/modules/pam_debug/pam_debug.c b/modules/pam_debug/pam_debug.c index e7ac8861..45edc82e 100644 --- a/modules/pam_debug/pam_debug.c +++ b/modules/pam_debug/pam_debug.c @@ -9,6 +9,8 @@ #define DEFAULT_USER "nobody" +#include "config.h" + #include /* @@ -28,6 +30,7 @@ #include #include +#include #define _PAM_ACTION_UNDEF (-10) #include "../../libpam/pam_tokens.h" @@ -37,27 +40,11 @@ static int state(pam_handle_t *pamh, const char *text) { int retval; - const void *void_conv; - const struct pam_conv *conv; - struct pam_message msg[1], *mesg[1]; - struct pam_response *response; - - retval = pam_get_item(pamh, PAM_CONV, &void_conv); - conv = (const struct pam_conv *) void_conv; - - if ((retval != PAM_SUCCESS) || (conv == NULL)) { - D(("failed to obtain conversation function")); - return PAM_ABORT; - } - msg[0].msg_style = PAM_TEXT_INFO; - msg[0].msg = text; - mesg[0] = &msg[0]; + retval = pam_info (pamh, "%s", text); - retval = conv->conv(1, (const struct pam_message **) mesg, - &response, conv->appdata_ptr); if (retval != PAM_SUCCESS) { - D(("conversation failed")); + D(("pam_info failed")); } return retval; @@ -89,8 +76,8 @@ static int parse_args(int retval, const char *event, } PAM_EXTERN -int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, - const char **argv) +int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED, + int argc, const char **argv) { int retval; const char *user=NULL; @@ -117,8 +104,8 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, } PAM_EXTERN -int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, - const char **argv) +int pam_sm_setcred(pam_handle_t *pamh, int flags UNUSED, + int argc, const char **argv) { return parse_args(PAM_SUCCESS, "cred", pamh, argc, argv); } @@ -126,8 +113,8 @@ int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, /* --- account management functions --- */ PAM_EXTERN -int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, - const char **argv) +int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED, + int argc, const char **argv) { return parse_args(PAM_SUCCESS, "acct", pamh, argc, argv); } @@ -135,8 +122,8 @@ int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, /* --- password management --- */ PAM_EXTERN -int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, - const char **argv) +int pam_sm_chauthtok(pam_handle_t *pamh, int flags UNUSED, + int argc, const char **argv) { if (flags & PAM_PRELIM_CHECK) { return parse_args(PAM_SUCCESS, "prechauthtok", pamh, argc, argv); @@ -148,15 +135,15 @@ int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, /* --- session management --- */ PAM_EXTERN -int pam_sm_open_session(pam_handle_t *pamh,int flags,int argc, - const char **argv) +int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, + int argc, const char **argv) { return parse_args(PAM_SUCCESS, "open_session", pamh, argc, argv); } PAM_EXTERN -int pam_sm_close_session(pam_handle_t *pamh,int flags,int argc - ,const char **argv) +int pam_sm_close_session(pam_handle_t *pamh, int flags UNUSED, + int argc, const char **argv) { return parse_args(PAM_SUCCESS, "close_session", pamh, argc, argv); } -- cgit v1.2.3