summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Bauer <joe@johannes-bauer.com>2017-08-08 18:51:41 +0200
committerDr. Stephen Henson <steve@openssl.org>2017-08-08 20:50:44 +0100
commit402f26e6ee56ec295e053d1f6455e910ac398149 (patch)
tree27db406c3255fda1efe80354084b0ca5452909e5
parent5d09b003c080d81ff6adfb6c54be5c018a2ba294 (diff)
Fix building without scrypt
Building without the scrypt KDF is now possible, the OPENSSL_NO_SCRYPT define is honored in code. Previous this lead to undefined references. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Stephen Henson <steve@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4116)
-rw-r--r--apps/pkcs12.c2
-rw-r--r--crypto/kdf/scrypt.c4
-rw-r--r--test/pkey_meth_kdf_test.c4
3 files changed, 10 insertions, 0 deletions
diff --git a/apps/pkcs12.c b/apps/pkcs12.c
index e8c1c87cb3..209aa33d1b 100644
--- a/apps/pkcs12.c
+++ b/apps/pkcs12.c
@@ -819,6 +819,7 @@ static int alg_print(const X509_ALGOR *alg)
BIO_printf(bio_err, ", Iteration %ld, PRF %s",
ASN1_INTEGER_get(kdf->iter), OBJ_nid2sn(prfnid));
PBKDF2PARAM_free(kdf);
+#ifndef OPENSSL_NO_SCRYPT
} else if (pbenid == NID_id_scrypt) {
SCRYPT_PARAMS *kdf = NULL;
@@ -835,6 +836,7 @@ static int alg_print(const X509_ALGOR *alg)
ASN1_INTEGER_get(kdf->blockSize),
ASN1_INTEGER_get(kdf->parallelizationParameter));
SCRYPT_PARAMS_free(kdf);
+#endif
}
PBE2PARAM_free(pbe2);
} else {
diff --git a/crypto/kdf/scrypt.c b/crypto/kdf/scrypt.c
index c7aa823e49..3f4cf385db 100644
--- a/crypto/kdf/scrypt.c
+++ b/crypto/kdf/scrypt.c
@@ -15,6 +15,8 @@
#include "internal/cryptlib.h"
#include "internal/evp_int.h"
+#ifndef OPENSSL_NO_SCRYPT
+
static int atou64(const char *nptr, uint64_t *result);
typedef struct {
@@ -256,3 +258,5 @@ const EVP_PKEY_METHOD scrypt_pkey_meth = {
pkey_scrypt_ctrl,
pkey_scrypt_ctrl_str
};
+
+#endif
diff --git a/test/pkey_meth_kdf_test.c b/test/pkey_meth_kdf_test.c
index a2ad91e40d..c832e8eb12 100644
--- a/test/pkey_meth_kdf_test.c
+++ b/test/pkey_meth_kdf_test.c
@@ -60,6 +60,7 @@ static int test_kdf_hkdf(void)
return 1;
}
+#ifndef OPENSSL_NO_SCRYPT
static int test_kdf_scrypt(void)
{
EVP_PKEY_CTX *pctx;
@@ -126,10 +127,13 @@ static int test_kdf_scrypt(void)
EVP_PKEY_CTX_free(pctx);
return 1;
}
+#endif
int setup_tests()
{
ADD_TEST(test_kdf_hkdf);
+#ifndef OPENSSL_NO_SCRYPT
ADD_TEST(test_kdf_scrypt);
+#endif
return 1;
}