From 91895a5938695348ebfb6211325cc6e3e449e955 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Tue, 16 Nov 1999 14:54:50 +0000 Subject: [PATCH] Fix for a bug in PKCS#7 code and non-detached data. Remove rc4-64 from ciphers since it doesn't exist... --- CHANGES | 5 +++++ apps/progs.h | 3 --- apps/progs.pl | 2 +- crypto/pkcs7/pk7_doit.c | 3 ++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index 81942a0e7a..4ccab5772f 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 cf5437da6a..bd9e806bb7 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 2c4d034e4c..46cf8bf629 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 4c32f053b7..7feb01230e 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); } -- 2.25.1