diff --git a/configure.ac b/configure.ac index 8330be5e4..44cf81f1c 100644 --- a/configure.ac +++ b/configure.ac @@ -537,6 +537,27 @@ fi AM_CONDITIONAL([BUILD_DSA], [test "x$ENABLED_DSA" = "xyes"]) +# PWDBASED +AC_ARG_ENABLE([pwdbased], + [ --enable-pwdbased Enable PWDBASED (default: disabled)], + [ ENABLED_PWDBASED=$enableval ], + [ ENABLED_PWDBASED=no ] + ) + +if test "$ENABLED_PWDBASED" = "no" +then + if test "$ENABLED_OPENSSLEXTRA" = "yes" + then + # opensslextra needs pwdbased + ENABLED_PWDBASED=yes + else + AM_CFLAGS="$AM_CFLAGS -DNO_PWDBASED" + fi +fi + +AM_CONDITIONAL([BUILD_PWDBASED], [test "x$ENABLED_PWDBASED" = "xyes"]) + + # HC128 AC_ARG_ENABLE([hc128], [ --enable-hc128 Enable HC-128 (default: disabled)], @@ -924,6 +945,7 @@ echo " * keygen: $ENABLED_KEYGEN" echo " * certgen: $ENABLED_CERTGEN" echo " * HC-128: $ENABLED_HC128" echo " * RABBIT: $ENABLED_RABBIT" +echo " * PWDBASED: $ENABLED_PWDBASED" echo " * MD4: $ENABLED_MD4" echo " * DSA: $ENABLED_DSA" echo " * PSK: $ENABLED_PSK" diff --git a/ctaocrypt/src/integer.c b/ctaocrypt/src/integer.c index d97f9122e..32da4f612 100644 --- a/ctaocrypt/src/integer.c +++ b/ctaocrypt/src/integer.c @@ -3736,7 +3736,7 @@ int mp_sqrmod (mp_int * a, mp_int * b, mp_int * c) #endif -#if defined(CYASSL_KEY_GEN) || defined(HAVE_ECC) || !defined(NO_PWDBASED) +#if defined(CYASSL_KEY_GEN) || defined(HAVE_ECC) || defined(OPENSSL_EXTRA) /* single digit addition */ int mp_add_d (mp_int* a, mp_digit b, mp_int* c) diff --git a/cyassl/ctaocrypt/integer.h b/cyassl/ctaocrypt/integer.h index b3c4137cc..114f63ef9 100644 --- a/cyassl/ctaocrypt/integer.h +++ b/cyassl/ctaocrypt/integer.h @@ -313,7 +313,7 @@ int mp_init_multi(mp_int* a, mp_int* b, mp_int* c, mp_int* d, mp_int* e, int mp_lcm (mp_int * a, mp_int * b, mp_int * c); #endif -#if defined(CYASSL_KEY_GEN) || defined(HAVE_ECC) || !defined(NO_PWDBASED) +#if defined(CYASSL_KEY_GEN) || defined(HAVE_ECC) || defined(OPENSSL_EXTRA) int mp_sub_d (mp_int * a, mp_digit b, mp_int * c); #endif diff --git a/src/include.am b/src/include.am index d7a381ab9..c5529daa7 100644 --- a/src/include.am +++ b/src/include.am @@ -27,7 +27,6 @@ src_libcyassl_la_SOURCES += ctaocrypt/src/des3.c \ ctaocrypt/src/md5.c \ ctaocrypt/src/asn.c \ ctaocrypt/src/dh.c \ - ctaocrypt/src/pwdbased.c \ ctaocrypt/src/aes.c \ ctaocrypt/src/memory.c endif @@ -40,6 +39,10 @@ if BUILD_MD4 src_libcyassl_la_SOURCES += ctaocrypt/src/md4.c endif +if BUILD_PWDBASED +src_libcyassl_la_SOURCES += ctaocrypt/src/pwdbased.c +endif + if BUILD_DSA src_libcyassl_la_SOURCES += ctaocrypt/src/dsa.c endif diff --git a/src/ssl.c b/src/ssl.c index 5e38e33d9..4217dd4c5 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -1143,7 +1143,7 @@ int CyaSSL_Init(void) if (pkcs8) return ToTraditional(der->buffer, der->length); -#ifdef OPENSSL_EXTRA +#if defined(OPENSSL_EXTRA) && !defined(NO_PWDBASED) if (pkcs8Enc) { int passwordSz; char password[80];