diff --git a/CHANGES b/CHANGES index 81942a0e7ae19fa3bf2b695ba59768fe24d048b8..4ccab5772fda86bb3462333b83e78145ed8dd109 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,11 @@ Changes between 0.9.4 and 0.9.5 [xx XXX 1999] + *) Fix a bug in the new PKCS#7 code: it didn't consider the + case in PKCS7_dataInit() where the signed PKCS7 structure + didn't contain any existing data because it was being created. + [Po-Cheng Chen" , slightly modified by Steve Henson] + *) Add a salt to the key derivation routines in enc.c. This forms the first 8 bytes of the encrypted file. Also add a -S option to allow a salt to be input on the command line. diff --git a/apps/progs.h b/apps/progs.h index cf5437da6a3de27e762b7182cd3b4861e3c4ab1e..bd9e806bb79851f618b7fbca711be638979a6d96 100644 --- a/apps/progs.h +++ b/apps/progs.h @@ -118,9 +118,6 @@ FUNCTION functions[] = { #ifndef NO_RC4 {FUNC_TYPE_CIPHER,"rc4",enc_main}, #endif -#ifndef NO_RC4 - {FUNC_TYPE_CIPHER,"rc4-64",enc_main}, -#endif #ifndef NO_RC4 {FUNC_TYPE_CIPHER,"rc4-40",enc_main}, #endif diff --git a/apps/progs.pl b/apps/progs.pl index 2c4d034e4cc88ab63c8bae5d22ebdfebc9723d9d..46cf8bf6299a4beae391bee86b7ff959d1a52627 100644 --- a/apps/progs.pl +++ b/apps/progs.pl @@ -50,7 +50,7 @@ foreach ("md2","md5","sha","sha1","mdc2","rmd160") foreach ( "base64", - "des", "des3", "desx", "idea", "rc4", "rc4-64", "rc4-40", + "des", "des3", "desx", "idea", "rc4", "rc4-40", "rc2", "bf", "cast", "rc5", "des-ecb", "des-ede", "des-ede3", "des-cbc", "des-ede-cbc","des-ede3-cbc", diff --git a/crypto/pkcs7/pk7_doit.c b/crypto/pkcs7/pk7_doit.c index 4c32f053b7e0cfaaac8306c141e42b3d75f42ce9..7feb01230eaeab6e3ac84b4ee63bda75f90fbe7b 100644 --- a/crypto/pkcs7/pk7_doit.c +++ b/crypto/pkcs7/pk7_doit.c @@ -226,7 +226,8 @@ BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio) os=p7->d.sign->contents->d.data; if (os->length > 0) bio = BIO_new_mem_buf(os->data, os->length); - } else { + } + if(bio == NULL) { bio=BIO_new(BIO_s_mem()); BIO_set_mem_eof_return(bio,0); }