Commit 402f26e6 authored by Johannes Bauer's avatar Johannes Bauer Committed by Dr. Stephen Henson
Browse files

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: default avatarRich Salz <rsalz@openssl.org>
Reviewed-by: default avatarStephen Henson <steve@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4116)
parent 5d09b003
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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 {
+4 −0
Original line number Diff line number Diff line
@@ -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
+4 −0
Original line number Diff line number Diff line
@@ -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;
}