Lines Matching refs:rxk5
188 static void rxrpc_rxk5_free(struct rxk5_key *rxk5)
192 rxrpc_free_krb5_principal(&rxk5->client);
193 rxrpc_free_krb5_principal(&rxk5->server);
194 rxrpc_free_krb5_tagged(&rxk5->session);
196 if (rxk5->addresses) {
197 for (loop = rxk5->n_addresses - 1; loop >= 0; loop--)
198 rxrpc_free_krb5_tagged(&rxk5->addresses[loop]);
199 kfree(rxk5->addresses);
201 if (rxk5->authdata) {
202 for (loop = rxk5->n_authdata - 1; loop >= 0; loop--)
203 rxrpc_free_krb5_tagged(&rxk5->authdata[loop]);
204 kfree(rxk5->authdata);
207 kfree(rxk5->ticket);
208 kfree(rxk5->ticket2);
209 kfree(rxk5);
434 struct rxk5_key *rxk5;
451 rxk5 = kzalloc(sizeof(*rxk5), GFP_KERNEL);
452 if (!rxk5) {
458 token->k5 = rxk5;
461 ret = rxrpc_krb5_decode_principal(&rxk5->client, &xdr, &toklen);
464 ret = rxrpc_krb5_decode_principal(&rxk5->server, &xdr, &toklen);
470 ret = rxrpc_krb5_decode_tagged_data(&rxk5->session, AFSTOKEN_DATA_MAX,
477 rxk5->authtime = be64_to_cpup((const __be64 *) xdr);
479 rxk5->starttime = be64_to_cpup((const __be64 *) xdr);
481 rxk5->endtime = be64_to_cpup((const __be64 *) xdr);
483 rxk5->renew_till = be64_to_cpup((const __be64 *) xdr);
485 rxk5->is_skey = ntohl(*xdr++);
486 rxk5->flags = ntohl(*xdr++);
490 rxk5->authtime, rxk5->starttime, rxk5->endtime,
491 rxk5->renew_till);
492 _debug("is_skey=%x flags=%x", rxk5->is_skey, rxk5->flags);
495 ret = rxrpc_krb5_decode_tagged_array(&rxk5->addresses,
496 &rxk5->n_addresses,
506 ret = rxrpc_krb5_decode_ticket(&rxk5->ticket, &rxk5->ticket_len,
510 ret = rxrpc_krb5_decode_ticket(&rxk5->ticket2, &rxk5->ticket2_len,
518 ret = rxrpc_krb5_decode_tagged_array(&rxk5->authdata,
519 &rxk5->n_authdata,
547 rxrpc_rxk5_free(rxk5);