-: 0:Source:state.c -: 0:Graph:/var/tsitkova/Sources/v10/trunk/src/lib/crypto/krb/state.so.gcno -: 0:Data:/var/tsitkova/Sources/v10/trunk/src/lib/crypto/krb/state.so.gcda -: 0:Runs:1630 -: 0:Programs:1 -: 1:/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ -: 2:/* lib/crypto/krb/state.c */ -: 3:/* -: 4: * Copyright (C) 2001 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: -: 25: * -: 26: * -: 27: * -: 28: * * Section 6 (Encryption) of the Kerberos revisions document defines -: 29: * cipher states to be used to chain encryptions and decryptions -: 30: * together. Examples of cipher states include initialization vectors -: 31: * for CBC encription. This file contains implementations of -: 32: * krb5_c_init_state and krb5_c_free_state used by clients of the -: 33: * Kerberos crypto library. -: 34: */ -: 35:#include "crypto_int.h" -: 36: -: 37:krb5_error_code KRB5_CALLCONV 72: 38:krb5_c_init_state (krb5_context context, const krb5_keyblock *key, -: 39: krb5_keyusage keyusage, krb5_data *new_state) -: 40:{ -: 41: const struct krb5_keytypes *ktp; -: 42: 72: 43: ktp = find_enctype(key->enctype); 72: 44: if (ktp == NULL) #####: 45: return KRB5_BAD_ENCTYPE; 72: 46: return ktp->enc->init_state(key, keyusage, new_state); -: 47:} -: 48: -: 49:krb5_error_code KRB5_CALLCONV 72: 50:krb5_c_free_state(krb5_context context, const krb5_keyblock *key, -: 51: krb5_data *state) -: 52:{ -: 53: const struct krb5_keytypes *ktp; -: 54: 72: 55: ktp = find_enctype(key->enctype); 72: 56: if (ktp == NULL) #####: 57: return KRB5_BAD_ENCTYPE; 72: 58: ktp->enc->free_state(state); 72: 59: return 0; -: 60:}