From 03c41202442577bbda1fb95939c6cd9a256e066d Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Thu, 7 Aug 1997 20:23:26 +0000 Subject: [PATCH] Added krb5_free_keyblock and krb5_copy_keyblock git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2734 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/keyblock.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/lib/krb5/keyblock.c b/lib/krb5/keyblock.c index a79abf386..399394bfb 100644 --- a/lib/krb5/keyblock.c +++ b/lib/krb5/keyblock.c @@ -71,3 +71,37 @@ krb5_generate_random_keyblock(krb5_context context, } return KRB5_PROG_KEYTYPE_NOSUPP; } + +void +krb5_free_keyblock(krb5_context context, + krb5_keyblock *keyblock) +{ + memset(keyblock->keyvalue.data, 0, keyblock->keyvalue.length); + krb5_data_free (&keyblock->keyvalue); +} + +krb5_error_code +krb5_copy_keyblock_contents (krb5_context context, + const krb5_keyblock *inblock, + krb5_keyblock *to) +{ + to->keytype = inblock->keytype; + return krb5_data_copy (&to->keyvalue, + inblock->keyvalue.data, + inblock->keyvalue.length); + +} + +krb5_error_code +krb5_copy_keyblock (krb5_context context, + const krb5_keyblock *inblock, + krb5_keyblock **to) +{ + krb5_keyblock *k; + + k = malloc (sizeof(*k)); + if (k == NULL) + return ENOMEM; + *to = k; + return krb5_copy_keyblock_contents (context, inblock, k); +}