-: 0:Source:encrypt_tk.c -: 0:Graph:/var/tsitkova/Sources/v10/trunk/src/lib/krb5/krb/encrypt_tk.so.gcno -: 0:Data:/var/tsitkova/Sources/v10/trunk/src/lib/krb5/krb/encrypt_tk.so.gcda -: 0:Runs:1602 -: 0:Programs:1 -: 1:/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ -: 2:/* lib/krb5/krb/encrypt_tk.c */ -: 3:/* -: 4: * Copyright 1990 by the Massachusetts Institute of Technology. -: 5: * All Rights Reserved. -: 6: * -: 7: * Export of this software from the United States of America may -: 8: * require a specific license from the United States Government. -: 9: * It is the responsibility of any person or organization contemplating -: 10: * export to obtain such a license before exporting. -: 11: * -: 12: * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and -: 13: * distribute this software and its documentation for any purpose and -: 14: * without fee is hereby granted, provided that the above copyright -: 15: * notice appear in all copies and that both that copyright notice and -: 16: * this permission notice appear in supporting documentation, and that -: 17: * the name of M.I.T. not be used in advertising or publicity pertaining -: 18: * to distribution of the software without specific, written prior -: 19: * permission. Furthermore if you modify this software you must label -: 20: * your software as modified software and not distribute it in such a -: 21: * fashion that it might be confused with the original M.I.T. software. -: 22: * M.I.T. makes no representations about the suitability of -: 23: * this software for any purpose. It is provided "as is" without express -: 24: * or implied warranty. -: 25: */ -: 26: -: 27:#include "k5-int.h" -: 28: -: 29:/* -: 30: Takes unencrypted dec_ticket & dec_tkt_part, encrypts with -: 31: dec_ticket->enc_part.etype -: 32: using *srv_key, and places result in dec_ticket->enc_part. -: 33: The string dec_ticket->enc_part.ciphertext will be allocated before -: 34: formatting. -: 35: -: 36: returns errors from encryption routines, system errors -: 37: -: 38: enc_part->ciphertext.data allocated & filled in with encrypted stuff -: 39:*/ -: 40: -: 41:krb5_error_code 319: 42:krb5_encrypt_tkt_part(krb5_context context, const krb5_keyblock *srv_key, register krb5_ticket *dec_ticket) -: 43:{ -: 44: krb5_data *scratch; -: 45: krb5_error_code retval; 319: 46: register krb5_enc_tkt_part *dec_tkt_part = dec_ticket->enc_part2; -: 47: -: 48: /* start by encoding the to-be-encrypted part. */ 319: 49: if ((retval = encode_krb5_enc_tkt_part(dec_tkt_part, &scratch))) { #####: 50: return retval; -: 51: } -: 52: -: 53:#define cleanup_scratch() { (void) memset(scratch->data, 0, scratch->length); \ -: 54: krb5_free_data(context, scratch); } -: 55: -: 56: /* call the encryption routine */ 319: 57: retval = krb5_encrypt_helper(context, srv_key, -: 58: KRB5_KEYUSAGE_KDC_REP_TICKET, scratch, -: 59: &dec_ticket->enc_part); -: 60: 319: 61: cleanup_scratch(); -: 62: 319: 63: return(retval); -: 64:}