Lines Matching refs:cred

190 		     krb5_creds *cred)  in make_cred_from_ccred()  argument
195 memset(cred, 0, sizeof(*cred)); in make_cred_from_ccred()
197 ret = krb5_parse_name(context, incred->client, &cred->client); in make_cred_from_ccred()
201 ret = krb5_parse_name(context, incred->server, &cred->server); in make_cred_from_ccred()
205 cred->session.keytype = incred->keyblock.type; in make_cred_from_ccred()
206 cred->session.keyvalue.length = incred->keyblock.length; in make_cred_from_ccred()
207 cred->session.keyvalue.data = malloc(incred->keyblock.length); in make_cred_from_ccred()
208 if (cred->session.keyvalue.data == NULL) in make_cred_from_ccred()
210 memcpy(cred->session.keyvalue.data, incred->keyblock.data, in make_cred_from_ccred()
213 cred->times.authtime = incred->authtime; in make_cred_from_ccred()
214 cred->times.starttime = incred->starttime; in make_cred_from_ccred()
215 cred->times.endtime = incred->endtime; in make_cred_from_ccred()
216 cred->times.renew_till = incred->renew_till; in make_cred_from_ccred()
218 ret = krb5_data_copy(&cred->ticket, in make_cred_from_ccred()
224 ret = krb5_data_copy(&cred->second_ticket, in make_cred_from_ccred()
230 cred->authdata.val = NULL; in make_cred_from_ccred()
231 cred->authdata.len = 0; in make_cred_from_ccred()
233 cred->addresses.val = NULL; in make_cred_from_ccred()
234 cred->addresses.len = 0; in make_cred_from_ccred()
240 cred->authdata.val = calloc(i, sizeof(cred->authdata.val[0])); in make_cred_from_ccred()
241 if (cred->authdata.val == NULL) in make_cred_from_ccred()
243 cred->authdata.len = i; in make_cred_from_ccred()
244 for (i = 0; i < cred->authdata.len; i++) { in make_cred_from_ccred()
245 cred->authdata.val[i].ad_type = incred->authdata[i]->type; in make_cred_from_ccred()
246 ret = krb5_data_copy(&cred->authdata.val[i].ad_data, in make_cred_from_ccred()
258 cred->addresses.val = calloc(i, sizeof(cred->addresses.val[0])); in make_cred_from_ccred()
259 if (cred->addresses.val == NULL) in make_cred_from_ccred()
261 cred->addresses.len = i; in make_cred_from_ccred()
263 for (i = 0; i < cred->addresses.len; i++) { in make_cred_from_ccred()
264 cred->addresses.val[i].addr_type = incred->addresses[i]->type; in make_cred_from_ccred()
265 ret = krb5_data_copy(&cred->addresses.val[i].address, in make_cred_from_ccred()
273 cred->flags.i = 0; in make_cred_from_ccred()
275 cred->flags.b.forwardable = 1; in make_cred_from_ccred()
277 cred->flags.b.forwarded = 1; in make_cred_from_ccred()
279 cred->flags.b.proxiable = 1; in make_cred_from_ccred()
281 cred->flags.b.proxy = 1; in make_cred_from_ccred()
283 cred->flags.b.may_postdate = 1; in make_cred_from_ccred()
285 cred->flags.b.postdated = 1; in make_cred_from_ccred()
287 cred->flags.b.invalid = 1; in make_cred_from_ccred()
289 cred->flags.b.renewable = 1; in make_cred_from_ccred()
291 cred->flags.b.initial = 1; in make_cred_from_ccred()
293 cred->flags.b.pre_authent = 1; in make_cred_from_ccred()
295 cred->flags.b.hw_authent = 1; in make_cred_from_ccred()
297 cred->flags.b.transited_policy_checked = 1; in make_cred_from_ccred()
299 cred->flags.b.ok_as_delegate = 1; in make_cred_from_ccred()
301 cred->flags.b.anonymous = 1; in make_cred_from_ccred()
310 krb5_free_cred_contents(context, cred); in make_cred_from_ccred()
315 free_ccred(cc_credentials_v5_t *cred) in free_ccred() argument
319 if (cred->addresses) { in free_ccred()
320 for (i = 0; cred->addresses[i] != 0; i++) { in free_ccred()
321 if (cred->addresses[i]->data) in free_ccred()
322 free(cred->addresses[i]->data); in free_ccred()
323 free(cred->addresses[i]); in free_ccred()
325 free(cred->addresses); in free_ccred()
327 if (cred->server) in free_ccred()
328 free(cred->server); in free_ccred()
329 if (cred->client) in free_ccred()
330 free(cred->client); in free_ccred()
331 memset(cred, 0, sizeof(*cred)); in free_ccred()
337 cc_credentials_v5_t *cred) in make_ccred_from_cred() argument
342 memset(cred, 0, sizeof(*cred)); in make_ccred_from_cred()
344 ret = krb5_unparse_name(context, incred->client, &cred->client); in make_ccred_from_cred()
348 ret = krb5_unparse_name(context, incred->server, &cred->server); in make_ccred_from_cred()
352 cred->keyblock.type = incred->session.keytype; in make_ccred_from_cred()
353 cred->keyblock.length = incred->session.keyvalue.length; in make_ccred_from_cred()
354 cred->keyblock.data = incred->session.keyvalue.data; in make_ccred_from_cred()
356 cred->authtime = incred->times.authtime; in make_ccred_from_cred()
357 cred->starttime = incred->times.starttime; in make_ccred_from_cred()
358 cred->endtime = incred->times.endtime; in make_ccred_from_cred()
359 cred->renew_till = incred->times.renew_till; in make_ccred_from_cred()
361 cred->ticket.length = incred->ticket.length; in make_ccred_from_cred()
362 cred->ticket.data = incred->ticket.data; in make_ccred_from_cred()
364 cred->second_ticket.length = incred->second_ticket.length; in make_ccred_from_cred()
365 cred->second_ticket.data = incred->second_ticket.data; in make_ccred_from_cred()
368 cred->authdata = NULL; in make_ccred_from_cred()
370 cred->addresses = calloc(incred->addresses.len + 1, in make_ccred_from_cred()
371 sizeof(cred->addresses[0])); in make_ccred_from_cred()
372 if (cred->addresses == NULL) { in make_ccred_from_cred()
395 cred->addresses[i] = addr; in make_ccred_from_cred()
397 cred->addresses[i] = NULL; in make_ccred_from_cred()
399 cred->ticket_flags = 0; in make_ccred_from_cred()
401 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_FORWARDABLE; in make_ccred_from_cred()
403 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_FORWARDED; in make_ccred_from_cred()
405 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_PROXIABLE; in make_ccred_from_cred()
407 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_PROXY; in make_ccred_from_cred()
409 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_MAY_POSTDATE; in make_ccred_from_cred()
411 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_POSTDATED; in make_ccred_from_cred()
413 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_INVALID; in make_ccred_from_cred()
415 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_RENEWABLE; in make_ccred_from_cred()
417 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_INITIAL; in make_ccred_from_cred()
419 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_PRE_AUTH; in make_ccred_from_cred()
421 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_HW_AUTH; in make_ccred_from_cred()
423 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_TRANSIT_POLICY_CHECKED; in make_ccred_from_cred()
425 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_OK_AS_DELEGATE; in make_ccred_from_cred()
427 cred->ticket_flags |= KRB5_CCAPI_TKT_FLG_ANONYMOUS; in make_ccred_from_cred()
432 free_ccred(cred); in make_ccred_from_cred()
681 cc_credentials_union cred; in acc_store_cred() local
692 cred.version = cc_credentials_v5; in acc_store_cred()
693 cred.credentials.credentials_v5 = &v5cred; in acc_store_cred()
701 error = (*a->ccache->func->store_credentials)(a->ccache, &cred); in acc_store_cred()
770 cc_credentials_t cred; in acc_get_next() local
775 error = (*iter->func->next)(iter, &cred); in acc_get_next()
778 if (cred->data->version == cc_credentials_v5) in acc_get_next()
780 (*cred->func->release)(cred); in acc_get_next()
784 cred->data->credentials.credentials_v5, in acc_get_next()
786 (*cred->func->release)(cred); in acc_get_next()
804 krb5_creds *cred) in acc_remove_cred() argument
819 if (cred->client) { in acc_remove_cred()
820 ret = krb5_unparse_name(context, cred->client, &client); in acc_remove_cred()
826 ret = krb5_unparse_name(context, cred->server, &server); in acc_remove_cred()