diff options
-rw-r--r-- | src/pam_wrapper.c | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/src/pam_wrapper.c b/src/pam_wrapper.c index 67a75b4..088754b 100644 --- a/src/pam_wrapper.c +++ b/src/pam_wrapper.c @@ -1222,6 +1222,8 @@ static int pwrap_pam_start(const char *service_name, const struct pam_conv *pam_conversation, pam_handle_t **pamh) { + int rc; + pwrap_init(); PWRAP_LOG(PWRAP_LOG_TRACE, @@ -1230,22 +1232,25 @@ static int pwrap_pam_start(const char *service_name, user); #if defined(HAVE_OPENPAM) - return pwrap_openpam_start(service_name, - user, - pam_conversation, - pamh); + rc = pwrap_openpam_start(service_name, + user, + pam_conversation, + pamh); #elif defined (HAVE_PAM_START_CONFDIR) - return libpam_pam_start_confdir(service_name, - user, - pam_conversation, - pwrap.config_dir, - pamh); + rc = libpam_pam_start_confdir(service_name, + user, + pam_conversation, + pwrap.config_dir, + pamh); #else - return libpam_pam_start(service_name, - user, - pam_conversation, - pamh); + rc = libpam_pam_start(service_name, + user, + pam_conversation, + pamh); #endif + PWRAP_LOG(PWRAP_LOG_TRACE, "pam_start rc=%d", rc); + + return rc; } |