/* * $Source$ * $Author$ * * Copyright 1989,1990 by the Massachusetts Institute of Technology. * * For copying and distribution information, please see the file * . * * Glue between Kerberos version and ISODE 6.0 version of structures. */ #if !defined(lint) && !defined(SABER) static char rcsid_tkt2ktkt_c[] = "$Id$"; #endif /* lint || saber */ #include #include /*#include */ #include #include #include "asn1glue.h" #include /* ISODE defines max(a,b) */ krb5_ticket * KRB5_Ticket2krb5_ticket(val, error) const register struct type_KRB5_Ticket *val; register int *error; { register krb5_ticket *retval; krb5_enc_data *temp; retval = (krb5_ticket *)xmalloc(sizeof(*retval)); if (!retval) { *error = ENOMEM; return(0); } xbzero(retval, sizeof(*retval)); retval->server = KRB5_PrincipalName2krb5_principal(val->sname, val->realm, error); if (!retval->server) { xfree(retval); return(0); } temp = KRB5_EncryptedData2krb5_enc_data(val->enc__part, error); if (temp) { retval->enc_part = *temp; xfree(temp); } else { krb5_free_ticket(retval); return(0); } return(retval); }