diff options
author | John Kohl <jtkohl@mit.edu> | 1990-05-10 17:42:24 +0000 |
---|---|---|
committer | John Kohl <jtkohl@mit.edu> | 1990-05-10 17:42:24 +0000 |
commit | f4aca780a07b1bc44b88a71bd4a2d28bb52cb9dd (patch) | |
tree | 74b58977fbde0dc4f2440e06db6a2baa1845f667 /src/lib/krb5/krb/send_tgs.c | |
parent | 4867c091113df90b7d383aa44d9c2148ddd8aba5 (diff) | |
download | krb5-f4aca780a07b1bc44b88a71bd4a2d28bb52cb9dd.zip krb5-f4aca780a07b1bc44b88a71bd4a2d28bb52cb9dd.tar.gz krb5-f4aca780a07b1bc44b88a71bd4a2d28bb52cb9dd.tar.bz2 |
changes for new encryption & cksum interface
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@831 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/krb/send_tgs.c')
-rw-r--r-- | src/lib/krb5/krb/send_tgs.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/lib/krb5/krb/send_tgs.c b/src/lib/krb5/krb/send_tgs.c index 46b042f..eb5e745 100644 --- a/src/lib/krb5/krb/send_tgs.c +++ b/src/lib/krb5/krb/send_tgs.c @@ -18,6 +18,7 @@ static char rcsid_send_tgs_c[] = #include <krb5/copyright.h> #include <krb5/krb5.h> #include <krb5/asn1.h> +#include <errno.h> #include <stdio.h> #include <krb5/libos-proto.h> @@ -100,14 +101,20 @@ OLDDECLARG(krb5_response *,rep) if (retval) return(retval); - /* xxx choose a checksum type */ + /* XXX choose a checksum type */ + if (!(ap_checksum.contents = (krb5_octet *) + malloc(krb5_cksumarray[sumtype]->checksum_length))) { + krb5_free_data(scratch); + return ENOMEM; + } + if (retval = (*(krb5_cksumarray[sumtype]-> sum_func))(scratch->data, - 0, /* XXX? */ - (krb5_pointer) usecred->keyblock.contents, scratch->length, + (krb5_pointer) usecred->keyblock.contents, usecred->keyblock.length, &ap_checksum)) { + xfree(ap_checksum.contents); krb5_free_data(scratch); return retval; } @@ -115,7 +122,7 @@ OLDDECLARG(krb5_response *,rep) xfree(scratch); #define cleanup() {(void) free((char *)tgsreq.tgs_request.data); \ - (void) free((char *)ap_checksum.contents);} + xfree(ap_checksum.contents);} /* * Now get an ap_req. */ @@ -136,7 +143,8 @@ OLDDECLARG(krb5_response *,rep) } #undef cleanup #define cleanup() {(void) free(tgsreq.header.data); \ - (void) free(tgsreq.tgs_request.data);} + (void) free(tgsreq.tgs_request.data);\ + xfree(ap_checksum.contents);} /* now send request & get response from KDC */ retval = krb5_sendto_kdc(scratch, krb5_princ_realm(sname), |