diff options
author | John Kohl <jtkohl@mit.edu> | 1990-05-09 17:12:11 +0000 |
---|---|---|
committer | John Kohl <jtkohl@mit.edu> | 1990-05-09 17:12:11 +0000 |
commit | 021d31446fe0c7b5a77527126112a3c36d33cdf4 (patch) | |
tree | e9b9fd9bd6e933c5f30f002807c750dd35ef3a9a /src/lib/krb5/krb/rd_safe.c | |
parent | ee96d082bd52f21c490312333506ffe4d8bd8c79 (diff) | |
download | krb5-021d31446fe0c7b5a77527126112a3c36d33cdf4.zip krb5-021d31446fe0c7b5a77527126112a3c36d33cdf4.tar.gz krb5-021d31446fe0c7b5a77527126112a3c36d33cdf4.tar.bz2 |
changes for new checksum interface
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@816 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/krb/rd_safe.c')
-rw-r--r-- | src/lib/krb5/krb/rd_safe.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/krb5/krb/rd_safe.c b/src/lib/krb5/krb/rd_safe.c index f41648e..c03a272 100644 --- a/src/lib/krb5/krb/rd_safe.c +++ b/src/lib/krb5/krb/rd_safe.c @@ -18,6 +18,7 @@ static char rcsid_rd_safe_c[] = #include <krb5/copyright.h> #include <krb5/krb5.h> #include <krb5/krb5_err.h> +#include <errno.h> #include <krb5/asn1.h> #include <stdio.h> @@ -110,12 +111,21 @@ krb5_data *outbuf; cleanup(); return retval; } + message->checksum = his_cksum; + if (!(our_cksum.contents = (krb5_octet *) + malloc(krb5_cksumarray[his_cksum->checksum_type]->checksum_length))) { + cleanup(); + return ENOMEM; + } + +#undef cleanup +#define cleanup() {krb5_free_safe(message); xfree(our_cksum.contents);} + retval = (*(krb5_cksumarray[his_cksum->checksum_type]-> sum_func))(scratch->data, - 0, /* XXX? */ - (krb5_pointer) key->contents, scratch->length, + (krb5_pointer) key->contents, key->length, &our_cksum); (void) bzero((char *)scratch->data, scratch->length); @@ -126,8 +136,6 @@ krb5_data *outbuf; return retval; } -#undef cleanup -#define cleanup() {krb5_free_safe(message); xfree(our_cksum.contents);} if (our_cksum.length != his_cksum->length || bcmp((char *)our_cksum.contents, (char *)his_cksum->contents, |