-: 0:Source:default_state.c -: 0:Graph:/var/tsitkova/Sources/v10/trunk/src/lib/crypto/krb/default_state.so.gcno -: 0:Data:/var/tsitkova/Sources/v10/trunk/src/lib/crypto/krb/default_state.so.gcda -: 0:Runs:1630 -: 0:Programs:1 -: 1:/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ -: 2:/* -: 3: * Copyright (C) 2001 by the Massachusetts Institute of Technology. -: 4: * All rights reserved. -: 5: * -: 6: * Export of this software from the United States of America may -: 7: * require a specific license from the United States Government. -: 8: * It is the responsibility of any person or organization contemplating -: 9: * export to obtain such a license before exporting. -: 10: * -: 11: * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and -: 12: * distribute this software and its documentation for any purpose and -: 13: * without fee is hereby granted, provided that the above copyright -: 14: * notice appear in all copies and that both that copyright notice and -: 15: * this permission notice appear in supporting documentation, and that -: 16: * the name of M.I.T. not be used in advertising or publicity pertaining -: 17: * to distribution of the software without specific, written prior -: 18: * permission. Furthermore if you modify this software you must label -: 19: * your software as modified software and not distribute it in such a -: 20: * fashion that it might be confused with the original M.I.T. software. -: 21: * M.I.T. makes no representations about the suitability of -: 22: * this software for any purpose. It is provided "as is" without express -: 23: * or implied warranty. -: 24: * -: 25: * Section 6 (Encryption) of the Kerberos revisions document defines -: 26: * cipher states to be used to chain encryptions and decryptions -: 27: * together. Examples of cipher states include initialization vectors -: 28: * for CBC encription. Most Kerberos encryption systems can share -: 29: * code for initializing and freeing cipher states. This file -: 30: * contains that default code. -: 31: */ -: 32: -: 33:#include "crypto_int.h" -: 34: -: 35:krb5_error_code 32: 36:krb5int_des_init_state(const krb5_keyblock *key, krb5_keyusage usage, -: 37: krb5_data *new_state) -: 38:{ 32: 39: new_state->length = 8; 32: 40: new_state->data = (void *) malloc(8); 32: 41: if (new_state->data) { 32: 42: memset (new_state->data, 0, new_state->length); -: 43: /* We need to copy in the key for des-cbc-cr--ick, but that's how it works*/ 32: 44: if (key->enctype == ENCTYPE_DES_CBC_CRC) { 8: 45: memcpy (new_state->data, key->contents, new_state->length); -: 46: } -: 47: } else { #####: 48: return ENOMEM; -: 49: } 32: 50: return 0; -: 51:} -: 52: -: 53:void 72: 54:krb5int_default_free_state(krb5_data *state) -: 55:{ 72: 56: if (state->data) { 72: 57: free (state->data); 72: 58: state-> data = NULL; 72: 59: state->length = 0; -: 60: } 72: 61:}