aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Howard <lukeh@padl.com>2009-08-21 17:52:51 +0000
committerLuke Howard <lukeh@padl.com>2009-08-21 17:52:51 +0000
commit18959aecd70831a84263953b9f86df158bb11187 (patch)
tree2fdb9794b89e9625947049fa9866e19bcf65f052
parent9ad9dca6badcaed71df99ec52588d6a4f936c257 (diff)
downloadkrb5-18959aecd70831a84263953b9f86df158bb11187.zip
krb5-18959aecd70831a84263953b9f86df158bb11187.tar.gz
krb5-18959aecd70831a84263953b9f86df158bb11187.tar.bz2
cleanup
git-svn-id: svn://anonsvn.mit.edu/krb5/users/lhoward/s4u@22567 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/lib/gssapi/krb5/s4u_gss_glue.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/lib/gssapi/krb5/s4u_gss_glue.c b/src/lib/gssapi/krb5/s4u_gss_glue.c
index 69f6c04..af66421 100644
--- a/src/lib/gssapi/krb5/s4u_gss_glue.c
+++ b/src/lib/gssapi/krb5/s4u_gss_glue.c
@@ -102,7 +102,8 @@ kg_return_mechs(OM_uint32 *minor_status,
static int
kg_is_initiator_cred(krb5_gss_cred_id_t cred)
{
- return (cred->usage == GSS_C_INITIATE || cred->usage == GSS_C_BOTH);
+ return (cred->usage == GSS_C_INITIATE || cred->usage == GSS_C_BOTH) &&
+ (cred->ccache != NULL);
}
static OM_uint32
@@ -340,7 +341,7 @@ kg_duplicate_ccache(krb5_context context,
krb5_error_code code;
krb5_ccache ccache;
- if (impersonator_cred->ccache == NULL)
+ if (!kg_is_initiator_cred(impersonator_cred))
return EINVAL;
code = krb5_cc_new_unique(context, "MEMORY", NULL, &ccache);
@@ -386,7 +387,6 @@ kg_compose_cred(OM_uint32 *minor_status,
k5_mutex_assert_locked(&subject_cred->lock);
if (!kg_is_initiator_cred(impersonator_cred) ||
- impersonator_cred->ccache == NULL ||
impersonator_cred->princ == NULL) {
*minor_status = (OM_uint32)G_BAD_USAGE;
major_status = GSS_S_FAILURE;
@@ -394,7 +394,6 @@ kg_compose_cred(OM_uint32 *minor_status,
}
if (!kg_is_initiator_cred(subject_cred) ||
- subject_cred->ccache == NULL ||
subject_cred->princ == NULL) {
*minor_status = (OM_uint32)G_BAD_USAGE;
major_status = GSS_S_FAILURE;