Fix for a bug in PKCS#7 code and non-detached data.
authorDr. Stephen Henson <steve@openssl.org>
Tue, 16 Nov 1999 14:54:50 +0000 (14:54 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 16 Nov 1999 14:54:50 +0000 (14:54 +0000)
Remove rc4-64 from ciphers since it doesn't exist...

CHANGES
apps/progs.h
apps/progs.pl
crypto/pkcs7/pk7_doit.c

diff --git a/CHANGES b/CHANGES
index 81942a0..4ccab57 100644 (file)
--- 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.
index cf5437d..bd9e806 100644 (file)
@@ -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
index 2c4d034..46cf8bf 100644 (file)
@@ -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",
index 4c32f05..7feb012 100644 (file)
@@ -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);
                        }