add kcm_ccache_find_cred_uuid
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24001 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
19
kcm/cache.c
19
kcm/cache.c
@@ -498,6 +498,22 @@ kcm_ccache_store_cred(krb5_context context,
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct kcm_creds *
|
||||
kcm_ccache_find_cred_uuid(krb5_context context,
|
||||
kcm_ccache ccache,
|
||||
uuid_t uuid)
|
||||
{
|
||||
struct kcm_creds *c;
|
||||
|
||||
for (c = ccache->creds; c != NULL; c = c->next)
|
||||
if (uuid_compare(c->uuid, uuid) == 0)
|
||||
return c;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
krb5_error_code
|
||||
kcm_ccache_store_cred_internal(krb5_context context,
|
||||
kcm_ccache ccache,
|
||||
@@ -516,6 +532,8 @@ kcm_ccache_store_cred_internal(krb5_context context,
|
||||
return KRB5_CC_NOMEM;
|
||||
}
|
||||
|
||||
uuid_generate((*c)->uuid);
|
||||
|
||||
*credp = &(*c)->cred;
|
||||
|
||||
if (copy) {
|
||||
@@ -549,7 +567,6 @@ kcm_ccache_remove_cred_internal(krb5_context context,
|
||||
if (krb5_compare_creds(context, whichfields, mcreds, &(*c)->cred)) {
|
||||
struct kcm_creds *cred = *c;
|
||||
|
||||
kcm_cursor_update(context, ccache, cred);
|
||||
*c = cred->next;
|
||||
krb5_free_cred_contents(context, &cred->cred);
|
||||
free(cred);
|
||||
|
Reference in New Issue
Block a user