aboutsummaryrefslogtreecommitdiff
path: root/projects/wolfssl
diff options
context:
space:
mode:
authorGuido Vranken <guidovranken@users.noreply.github.com>2021-01-04 19:13:40 +0100
committerGitHub <noreply@github.com>2021-01-04 10:13:40 -0800
commit97ac4b1592c48cf054cd5343538c69c442d022e9 (patch)
treea7199d36790daedb6d2febec2f08638cb62564bc /projects/wolfssl
parentca0f1bcbca2d6673211ffeb45067a0485ece5519 (diff)
downloadoss-fuzz-97ac4b1592c48cf054cd5343538c69c442d022e9.tar.gz
[wolfssl] Add target for wolfCrypt OpenSSL API (#4910)
Diffstat (limited to 'projects/wolfssl')
-rwxr-xr-xprojects/wolfssl/build.sh35
1 files changed, 34 insertions, 1 deletions
diff --git a/projects/wolfssl/build.sh b/projects/wolfssl/build.sh
index e6cb46e28..a4ab4975f 100755
--- a/projects/wolfssl/build.sh
+++ b/projects/wolfssl/build.sh
@@ -35,6 +35,40 @@ then
OLD_CXXFLAGS="$CXXFLAGS"
# Configure Cryptofuzz
+ cp -R $SRC/cryptofuzz/ $SRC/cryptofuzz-openssl-api/
+ cd $SRC/cryptofuzz-openssl-api/
+ python gen_repository.py
+ rm extra_options.h
+ echo -n '"' >>extra_options.h
+ echo -n '--force-module=wolfCrypt-OpenSSL ' >>extra_options.h
+ echo -n '"' >>extra_options.h
+
+ # Build OpenSSL API fuzzer
+ cp -R $SRC/wolfssl/ $SRC/wolfssl-openssl-api/
+ cd $SRC/wolfssl-openssl-api/
+ autoreconf -ivf
+ CFLAGS="$CFLAGS -DHAVE_AES_ECB -DWOLFSSL_DES_ECB -DHAVE_ECC_SECPR2 -DHAVE_ECC_SECPR3 -DHAVE_ECC_BRAINPOOL -DHAVE_ECC_KOBLITZ -DWOLFSSL_ECDSA_SET_K"
+ if [[ $CFLAGS = *-m32* ]]
+ then
+ ./configure $WOLFCRYPT_CONFIGURE_PARAMS --enable-opensslall --enable-opensslextra --disable-fastmath
+ else
+ ./configure $WOLFCRYPT_CONFIGURE_PARAMS --enable-opensslall --enable-opensslextra
+ fi
+ make -j$(nproc)
+ export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_NO_OPENSSL -DCRYPTOFUZZ_WOLFCRYPT_OPENSSL"
+ export WOLFCRYPT_LIBWOLFSSL_A_PATH="$SRC/wolfssl-openssl-api/src/.libs/libwolfssl.a"
+ export WOLFCRYPT_INCLUDE_PATH="$SRC/wolfssl-openssl-api/"
+ cd $SRC/cryptofuzz-openssl-api/modules/wolfcrypt-openssl
+ make -j$(nproc)
+ cd $SRC/cryptofuzz-openssl-api/
+ LIBFUZZER_LINK="$LIB_FUZZING_ENGINE" make -B -j$(nproc)
+ cp cryptofuzz $OUT/cryptofuzz-openssl-api
+ CFLAGS="$OLD_CFLAGS"
+ CXXFLAGS="$OLD_CXXFLAGS"
+ unset WOLFCRYPT_LIBWOLFSSL_A_PATH
+ unset WOLFCRYPT_INCLUDE_PATH
+
+ # Configure Cryptofuzz
cd $SRC/cryptofuzz/
python gen_repository.py
rm extra_options.h
@@ -51,7 +85,6 @@ then
autoreconf -ivf
CFLAGS="$CFLAGS -DHAVE_AES_ECB -DWOLFSSL_DES_ECB -DHAVE_ECC_SECPR2 -DHAVE_ECC_SECPR3 -DHAVE_ECC_BRAINPOOL -DHAVE_ECC_KOBLITZ -DWOLFSSL_ECDSA_SET_K"
./configure $WOLFCRYPT_CONFIGURE_PARAMS --enable-sp-math-all
- sed -i 's/-Werror//g' Makefile # Workaround for https://github.com/wolfSSL/wolfssl/issues/3589
make -j$(nproc)
export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_NO_OPENSSL -DCRYPTOFUZZ_WOLFCRYPT"
export WOLFCRYPT_LIBWOLFSSL_A_PATH="$SRC/wolfssl-sp-math-all/src/.libs/libwolfssl.a"