From 8f3f76ca0b8bb939b9d327e3483a322d9efe5a3b Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Wed, 9 Jul 1997 05:41:33 +0000 Subject: [PATCH] Temporary hack to avoid des_rand_data. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2113 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/encrypt.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/krb5/encrypt.c b/lib/krb5/encrypt.c index 41e58ce2c..7cffe7e4f 100644 --- a/lib/krb5/encrypt.c +++ b/lib/krb5/encrypt.c @@ -66,6 +66,21 @@ krb5_etype2keytype(krb5_context context, return 0; } +static void +generate_random_block(void *buf, size_t len) +{ + des_cblock tmp; + unsigned char *p = buf; + size_t l; + while(len){ + des_new_random_key(&tmp); + l = len > 8 ? 8 : len; + memcpy(p, tmp, l); + p += l; + len -= l; + } +} + static krb5_error_code krb5_do_encrypt(krb5_context context, void *ptr, @@ -88,7 +103,7 @@ krb5_do_encrypt(krb5_context context, p = calloc(1, sz); if (p == NULL) return ENOMEM; - des_rand_data(p, et->confoundersize); /* XXX */ + generate_random_block(p, et->confoundersize); /* XXX */ memcpy(p + et->confoundersize + checksumsize, ptr, len); krb5_create_checksum(context, et->cksumtype, p, sz, &cksum);