From 792bbc2374b4ea2d1b722ecdc1ff74417219b3ae Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Sat, 3 Jan 2009 09:25:32 +0000 Subject: [PATCH] VMS stuff I forgot... --- crypto/install.com | 1 + crypto/rand/md_rand.c | 20 +++++++++++++++++--- makevms.com | 1 + 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/crypto/install.com b/crypto/install.com index e05cef224e..9501573334 100644 --- a/crypto/install.com +++ b/crypto/install.com @@ -62,6 +62,7 @@ $ EXHEADER_BF := blowfish.h $ EXHEADER_CAST := cast.h $ EXHEADER_CAMELLIA := camellia.h $ EXHEADER_SEED := seed.h +$ EXHEADER_MODES := modes.h $ EXHEADER_BN := bn.h $ EXHEADER_EC := ec.h $ EXHEADER_RSA := rsa.h diff --git a/crypto/rand/md_rand.c b/crypto/rand/md_rand.c index 810b4c2d4a..88088ce73c 100644 --- a/crypto/rand/md_rand.c +++ b/crypto/rand/md_rand.c @@ -272,8 +272,16 @@ static void ssleay_rand_add(const void *buf, int num, double add) } else MD_Update(&m,&(state[st_idx]),j); - + + /* DO NOT REMOVE THE FOLLOWING CALL TO MD_Update()! */ MD_Update(&m,buf,j); + /* We know that line may cause programs such as + purify and valgrind to complain about use of + uninitialized data. The problem is not, it's + with the caller. Removing that line will make + sure you get really bad randomness and thereby + other problems such as very insecure keys. */ + MD_Update(&m,(unsigned char *)&(md_c[0]),sizeof(md_c)); MD_Final(&m,local_md); md_c[1]++; @@ -466,9 +474,15 @@ static int ssleay_rand_bytes(unsigned char *buf, int num) #endif MD_Update(&m,local_md,MD_DIGEST_LENGTH); MD_Update(&m,(unsigned char *)&(md_c[0]),sizeof(md_c)); -#ifndef PURIFY - MD_Update(&m,buf,j); /* purify complains */ + +#ifndef PURIFY /* purify complains */ + /* DO NOT REMOVE THE FOLLOWING CALL TO MD_Update()! */ + MD_Update(&m,buf,j); + /* We know that line may cause programs such as + purify and valgrind to complain about use of + uninitialized data. */ #endif + k=(st_idx+MD_DIGEST_LENGTH/2)-st_num; if (k > 0) { diff --git a/makevms.com b/makevms.com index 933dfcda1e..092ce9e662 100755 --- a/makevms.com +++ b/makevms.com @@ -454,6 +454,7 @@ $ EXHEADER_BF := blowfish.h $ EXHEADER_CAST := cast.h $ EXHEADER_CAMELLIA := camellia.h $ EXHEADER_SEED := seed.h +$ EXHEADER_MODES := modes.h $ EXHEADER_BN := bn.h $ EXHEADER_EC := ec.h $ EXHEADER_RSA := rsa.h -- 2.25.1