summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--apps/speed.c6
-rw-r--r--crypto/evp/p5_crpt.c14
-rw-r--r--crypto/x509/x509.h2
4 files changed, 22 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index 23082d3304..ef3c4b860b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,9 @@
Changes between 0.9.3a and 0.9.4
+ *) Fix problems with no-hmac etc.
+ [Ulf Möller, pointed out by Brian Wellington <bwelling@tislabs.com>]
+
*) New functions RSA_get_default_method(), RSA_set_method() and
RSA_get_method(). These allows replacement of RSA_METHODs without having
to mess around with the internals of an RSA structure.
diff --git a/apps/speed.c b/apps/speed.c
index d369245936..3cfb4dbea2 100644
--- a/apps/speed.c
+++ b/apps/speed.c
@@ -123,9 +123,11 @@
#endif
#ifndef NO_MD5
#include <openssl/md5.h>
+#endif
+#ifndef NO_HMAC
#include <openssl/hmac.h>
-#include <openssl/evp.h>
#endif
+#include <openssl/evp.h>
#ifndef NO_SHA
#include <openssl/sha.h>
#endif
@@ -756,7 +758,7 @@ int MAIN(int argc, char **argv)
}
#endif
-#ifndef NO_MD5
+#if !defined(NO_MD5) && !defined(NO_HMAC)
if (doit[D_HMAC])
{
HMAC_CTX hctx;
diff --git a/crypto/evp/p5_crpt.c b/crypto/evp/p5_crpt.c
index abf6af0435..e3dae52d4d 100644
--- a/crypto/evp/p5_crpt.c
+++ b/crypto/evp/p5_crpt.c
@@ -68,22 +68,36 @@
void PKCS5_PBE_add(void)
{
#ifndef NO_DES
+# ifndef NO_MD5
EVP_PBE_alg_add(NID_pbeWithMD5AndDES_CBC, EVP_des_cbc(), EVP_md5(),
PKCS5_PBE_keyivgen);
+# endif
+# ifndef NO_MD2
EVP_PBE_alg_add(NID_pbeWithMD2AndDES_CBC, EVP_des_cbc(), EVP_md2(),
PKCS5_PBE_keyivgen);
+# endif
+# ifndef NO_SHA
EVP_PBE_alg_add(NID_pbeWithSHA1AndDES_CBC, EVP_des_cbc(), EVP_sha1(),
PKCS5_PBE_keyivgen);
+# endif
#endif
#ifndef NO_RC2
+# ifndef NO_MD5
EVP_PBE_alg_add(NID_pbeWithMD5AndRC2_CBC, EVP_rc2_64_cbc(), EVP_md5(),
PKCS5_PBE_keyivgen);
+# endif
+# ifndef NO_MD2
EVP_PBE_alg_add(NID_pbeWithMD2AndRC2_CBC, EVP_rc2_64_cbc(), EVP_md2(),
PKCS5_PBE_keyivgen);
+# endif
+# ifndef NO_SHA
EVP_PBE_alg_add(NID_pbeWithSHA1AndRC2_CBC, EVP_rc2_64_cbc(), EVP_sha1(),
PKCS5_PBE_keyivgen);
+# endif
#endif
+#ifndef NO_HMAC
EVP_PBE_alg_add(NID_pbes2, NULL, NULL, PKCS5_v2_PBE_keyivgen);
+#endif
}
int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen,
diff --git a/crypto/x509/x509.h b/crypto/x509/x509.h
index f4718e5411..5c0c669117 100644
--- a/crypto/x509/x509.h
+++ b/crypto/x509/x509.h
@@ -605,13 +605,13 @@ int i2d_RSAPublicKey_bio(BIO *bp,RSA *rsa);
#ifndef NO_DSA
DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa);
int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa);
+#endif
X509_SIG *d2i_PKCS8_bio(BIO *bp,X509_SIG **p8);
int i2d_PKCS8_bio(BIO *bp,X509_SIG *p8);
PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp,
PKCS8_PRIV_KEY_INFO **p8inf);
int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp,PKCS8_PRIV_KEY_INFO *p8inf);
#endif
-#endif
X509 *X509_dup(X509 *x509);
X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa);