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