Lines Matching refs:rxk5
190 static void rxrpc_rxk5_free(struct rxk5_key *rxk5) in rxrpc_rxk5_free() argument
194 rxrpc_free_krb5_principal(&rxk5->client); in rxrpc_rxk5_free()
195 rxrpc_free_krb5_principal(&rxk5->server); in rxrpc_rxk5_free()
196 rxrpc_free_krb5_tagged(&rxk5->session); in rxrpc_rxk5_free()
198 if (rxk5->addresses) { in rxrpc_rxk5_free()
199 for (loop = rxk5->n_addresses - 1; loop >= 0; loop--) in rxrpc_rxk5_free()
200 rxrpc_free_krb5_tagged(&rxk5->addresses[loop]); in rxrpc_rxk5_free()
201 kfree(rxk5->addresses); in rxrpc_rxk5_free()
203 if (rxk5->authdata) { in rxrpc_rxk5_free()
204 for (loop = rxk5->n_authdata - 1; loop >= 0; loop--) in rxrpc_rxk5_free()
205 rxrpc_free_krb5_tagged(&rxk5->authdata[loop]); in rxrpc_rxk5_free()
206 kfree(rxk5->authdata); in rxrpc_rxk5_free()
209 kfree(rxk5->ticket); in rxrpc_rxk5_free()
210 kfree(rxk5->ticket2); in rxrpc_rxk5_free()
211 kfree(rxk5); in rxrpc_rxk5_free()
436 struct rxk5_key *rxk5; in rxrpc_preparse_xdr_rxk5() local
453 rxk5 = kzalloc(sizeof(*rxk5), GFP_KERNEL); in rxrpc_preparse_xdr_rxk5()
454 if (!rxk5) { in rxrpc_preparse_xdr_rxk5()
460 token->k5 = rxk5; in rxrpc_preparse_xdr_rxk5()
463 ret = rxrpc_krb5_decode_principal(&rxk5->client, &xdr, &toklen); in rxrpc_preparse_xdr_rxk5()
466 ret = rxrpc_krb5_decode_principal(&rxk5->server, &xdr, &toklen); in rxrpc_preparse_xdr_rxk5()
472 ret = rxrpc_krb5_decode_tagged_data(&rxk5->session, AFSTOKEN_DATA_MAX, in rxrpc_preparse_xdr_rxk5()
479 rxk5->authtime = be64_to_cpup((const __be64 *) xdr); in rxrpc_preparse_xdr_rxk5()
481 rxk5->starttime = be64_to_cpup((const __be64 *) xdr); in rxrpc_preparse_xdr_rxk5()
483 rxk5->endtime = be64_to_cpup((const __be64 *) xdr); in rxrpc_preparse_xdr_rxk5()
485 rxk5->renew_till = be64_to_cpup((const __be64 *) xdr); in rxrpc_preparse_xdr_rxk5()
487 rxk5->is_skey = ntohl(*xdr++); in rxrpc_preparse_xdr_rxk5()
488 rxk5->flags = ntohl(*xdr++); in rxrpc_preparse_xdr_rxk5()
492 rxk5->authtime, rxk5->starttime, rxk5->endtime, in rxrpc_preparse_xdr_rxk5()
493 rxk5->renew_till); in rxrpc_preparse_xdr_rxk5()
494 _debug("is_skey=%x flags=%x", rxk5->is_skey, rxk5->flags); in rxrpc_preparse_xdr_rxk5()
497 ret = rxrpc_krb5_decode_tagged_array(&rxk5->addresses, in rxrpc_preparse_xdr_rxk5()
498 &rxk5->n_addresses, in rxrpc_preparse_xdr_rxk5()
508 ret = rxrpc_krb5_decode_ticket(&rxk5->ticket, &rxk5->ticket_len, in rxrpc_preparse_xdr_rxk5()
512 ret = rxrpc_krb5_decode_ticket(&rxk5->ticket2, &rxk5->ticket2_len, in rxrpc_preparse_xdr_rxk5()
520 ret = rxrpc_krb5_decode_tagged_array(&rxk5->authdata, in rxrpc_preparse_xdr_rxk5()
521 &rxk5->n_authdata, in rxrpc_preparse_xdr_rxk5()
549 rxrpc_rxk5_free(rxk5); in rxrpc_preparse_xdr_rxk5()