Fix for a bug in PKCS#7 code and non-detached data.
Remove rc4-64 from ciphers since it doesn't exist...
diff --git a/CHANGES b/CHANGES
index 81942a0..4ccab57 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" <pocheng@nst.com.tw>, 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 cf5437d..bd9e806 100644
--- a/apps/progs.h
+++ b/apps/progs.h
@@ -119,9 +119,6 @@
{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
#ifndef NO_RC2
diff --git a/apps/progs.pl b/apps/progs.pl
index 2c4d034..46cf8bf 100644
--- a/apps/progs.pl
+++ b/apps/progs.pl
@@ -50,7 +50,7 @@
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 4c32f05..7feb012 100644
--- a/crypto/pkcs7/pk7_doit.c
+++ b/crypto/pkcs7/pk7_doit.c
@@ -226,7 +226,8 @@
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);
}