summaryrefslogtreecommitdiffstats
path: root/lib/libpam/modules
diff options
context:
space:
mode:
authornectar <nectar@FreeBSD.org>2003-01-29 21:20:38 +0000
committernectar <nectar@FreeBSD.org>2003-01-29 21:20:38 +0000
commit7ecaf1e74bffb4dfd756bec0107371c2ef1d6fc4 (patch)
treea909969a9b9d51526526784ea4bb7c12f3b0743d /lib/libpam/modules
parent718bb6c717cdf4772ac42e966da0cd849aff9aa2 (diff)
downloadFreeBSD-src-7ecaf1e74bffb4dfd756bec0107371c2ef1d6fc4.zip
FreeBSD-src-7ecaf1e74bffb4dfd756bec0107371c2ef1d6fc4.tar.gz
Do not return inappropriate error codes in pam_sm_setcred.
Diffstat (limited to 'lib/libpam/modules')
-rw-r--r--lib/libpam/modules/pam_krb5/pam_krb5.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libpam/modules/pam_krb5/pam_krb5.c b/lib/libpam/modules/pam_krb5/pam_krb5.c
index d16b96e..9162bab 100644
--- a/lib/libpam/modules/pam_krb5/pam_krb5.c
+++ b/lib/libpam/modules/pam_krb5/pam_krb5.c
@@ -406,12 +406,15 @@ pam_sm_setcred(pam_handle_t *pamh, int flags,
/* Retrieve the temporary cache */
retval = pam_get_data(pamh, "ccache", (const void **)&cache_name);
- if (retval != PAM_SUCCESS)
+ if (retval != PAM_SUCCESS) {
+ retval = PAM_CRED_UNAVAIL;
goto cleanup3;
+ }
krbret = krb5_cc_resolve(pam_context, cache_name, &ccache_temp);
if (krbret != 0) {
PAM_LOG("Error krb5_cc_resolve(\"%s\"): %s", cache_name,
krb5_get_err_text(pam_context, krbret));
+ retval = PAM_SERVICE_ERR;
goto cleanup3;
}
OpenPOWER on IntegriCloud