1 /*
2 * lib/krb5/rcache/rc_conv.c
3 *
4 * This file of the Kerberos V5 software is derived from public-domain code
5 * contributed by Daniel J. Bernstein, <brnstnd@acf10.nyu.edu>.
6 *
7 */
8
9
10 /*
11 * An implementation for the default replay cache type.
12 */
13
14 /* Solaris Kerberos - resync */
15 #define FREE_RC(x) ((void) free((char *) (x)))
16
17 #include "rc_base.h"
18
19 /*
20 Local stuff:
21 krb5_auth_to_replay(context, krb5_tkt_authent *auth,krb5_donot_replay *rep)
22 given auth, take important information and make rep; return -1 if failed
23 */
24
25 krb5_error_code
krb5_auth_to_rep(krb5_context context,krb5_tkt_authent * auth,krb5_donot_replay * rep)26 krb5_auth_to_rep(krb5_context context, krb5_tkt_authent *auth, krb5_donot_replay *rep)
27 {
28 krb5_error_code retval;
29 rep->cusec = auth->authenticator->cusec;
30 rep->ctime = auth->authenticator->ctime;
31 if ((retval = krb5_unparse_name(context, auth->ticket->server, &rep->server)))
32 return retval; /* shouldn't happen */
33 if ((retval = krb5_unparse_name(context, auth->authenticator->client,
34 &rep->client))) {
35 FREE_RC(rep->server);
36 return retval; /* shouldn't happen. */
37 }
38 return 0;
39 }
40