102 lines
4.1 KiB
Bash
Executable File
102 lines
4.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Simple script to run Facebook Infer over java files included in this package.
|
|
#
|
|
# This is set up to run entire infer over Java classes in this package. To
|
|
# only run the RacerD thread safety analysis tool, change the command
|
|
# invocation below from "run" to "--racerd-only", ie:
|
|
#
|
|
# infer --racerd-only -- javac \
|
|
#
|
|
# Run from wolfssljni root:
|
|
#
|
|
# $ cd wolfcryptjni
|
|
# $ ./scripts/infer.sh
|
|
#
|
|
# By default the generated output and logs from Infer will be deleted. To keep
|
|
# them, pass 'keep' to the script:
|
|
#
|
|
# $ ./scripts/infer.sh keep
|
|
#
|
|
# wolfSSL Inc, April 2024
|
|
|
|
|
|
# These variables may be overridden on the command line.
|
|
KEEP="${KEEP:-no}"
|
|
|
|
while [ "$1" ]; do
|
|
if [ "$1" = 'keep' ]; then
|
|
KEEP='yes';
|
|
fi
|
|
shift
|
|
done
|
|
|
|
infer --fail-on-issue run -- javac \
|
|
src/main/java/com/wolfssl/wolfcrypt/Aes.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/AesGcm.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Asn.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/BlockCipher.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Chacha.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Curve25519.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Des3.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Dh.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Ecc.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Ed25519.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/FeatureDetect.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Fips.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Hmac.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Logging.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Md5.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/MessageDigest.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/NativeStruct.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Pwdbased.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Rng.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Rsa.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Sha.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Sha224.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Sha256.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Sha384.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/Sha512.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/WolfCrypt.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/WolfCryptError.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/WolfCryptException.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/WolfCryptState.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/WolfObject.java \
|
|
src/main/java/com/wolfssl/wolfcrypt/WolfSSLCertManager.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptCipher.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptDebug.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptKeyAgreement.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptKeyGenerator.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptKeyPairGenerator.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptMac.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptMessageDigestMd5.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptMessageDigestSha.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptMessageDigestSha256.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptMessageDigestSha384.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptMessageDigestSha512.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptPBEKey.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptPKIXCertPathValidator.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptProvider.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptRandom.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptSecretKeyFactory.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfCryptSignature.java \
|
|
src/main/java/com/wolfssl/provider/jce/WolfSSLKeyStore.java
|
|
|
|
RETVAL=$?
|
|
|
|
# remove compiled class files
|
|
rm -r ./com
|
|
|
|
# remove infer out directory (comment this out to inspect logs if needed)
|
|
if [ "$RETVAL" == '0' ] && [ "$KEEP" == 'no' ]; then
|
|
rm -r ./infer-out
|
|
fi
|
|
|
|
if [ "$RETVAL" == '1' ] || [ "$RETVAL" == '2' ]; then
|
|
# GitHub Actions expects return of 1 to mark step as failure
|
|
exit 1
|
|
fi
|
|
|
|
exit 0
|
|
|