1*e7be843bSPierre Pronchery#!/bin/bash 2*e7be843bSPierre Pronchery# 3*e7be843bSPierre Pronchery# Copyright 2021-2024 The OpenSSL Project Authors. All Rights Reserved. 4*e7be843bSPierre Pronchery# 5*e7be843bSPierre Pronchery# Licensed under the Apache License 2.0 (the "License"). You may not use 6*e7be843bSPierre Pronchery# this file except in compliance with the License. You can obtain a copy 7*e7be843bSPierre Pronchery# in the file LICENSE in the source distribution or at 8*e7be843bSPierre Pronchery# https://www.openssl.org/source/license.html 9*e7be843bSPierre Pronchery 10*e7be843bSPierre Pronchery# 11*e7be843bSPierre Pronchery# OpenSSL external testing using the TLSFuzzer test suite 12*e7be843bSPierre Pronchery# 13*e7be843bSPierre Proncheryset -e 14*e7be843bSPierre Proncheryset -x 15*e7be843bSPierre Pronchery 16*e7be843bSPierre ProncheryPWD="$(pwd)" 17*e7be843bSPierre Pronchery 18*e7be843bSPierre ProncherySRCTOP="$(cd $SRCTOP; pwd)" 19*e7be843bSPierre ProncheryBLDTOP="$(cd $BLDTOP; pwd)" 20*e7be843bSPierre Pronchery 21*e7be843bSPierre Proncheryif [ "$SRCTOP" != "$BLDTOP" ] ; then 22*e7be843bSPierre Pronchery echo "Out of tree builds not supported with TLSFuzzer test!" 23*e7be843bSPierre Pronchery exit 1 24*e7be843bSPierre Proncheryfi 25*e7be843bSPierre Pronchery 26*e7be843bSPierre ProncheryO_EXE="$BLDTOP/apps" 27*e7be843bSPierre ProncheryO_BINC="$BLDTOP/include" 28*e7be843bSPierre ProncheryO_SINC="$SRCTOP/include" 29*e7be843bSPierre ProncheryO_LIB="$BLDTOP" 30*e7be843bSPierre Pronchery 31*e7be843bSPierre Proncheryexport PATH="$O_EXE:$PATH" 32*e7be843bSPierre Proncheryexport LD_LIBRARY_PATH="$O_LIB:$LD_LIBRARY_PATH" 33*e7be843bSPierre Proncheryexport OPENSSL_ROOT_DIR="$O_LIB" 34*e7be843bSPierre Pronchery 35*e7be843bSPierre Pronchery 36*e7be843bSPierre ProncheryCLI="${O_EXE}/openssl" 37*e7be843bSPierre ProncherySERV="${O_EXE}/openssl" 38*e7be843bSPierre Pronchery 39*e7be843bSPierre Pronchery# Check/Set openssl version 40*e7be843bSPierre ProncheryOPENSSL_VERSION=$($CLI version | cut -f 2 -d ' ') 41*e7be843bSPierre Pronchery 42*e7be843bSPierre ProncheryTMPFILE="${PWD}/tls-fuzzer.$$.tmp" 43*e7be843bSPierre ProncheryPSKFILE="${PWD}/tls-fuzzer.psk.$$.tmp" 44*e7be843bSPierre Pronchery 45*e7be843bSPierre ProncheryPYTHON=`which python3` 46*e7be843bSPierre ProncheryPORT=4433 47*e7be843bSPierre Pronchery 48*e7be843bSPierre Proncheryecho "------------------------------------------------------------------" 49*e7be843bSPierre Proncheryecho "Testing OpenSSL using TLSFuzzer:" 50*e7be843bSPierre Proncheryecho " CWD: $PWD" 51*e7be843bSPierre Proncheryecho " SRCTOP: $SRCTOP" 52*e7be843bSPierre Proncheryecho " BLDTOP: $BLDTOP" 53*e7be843bSPierre Proncheryecho " OPENSSL_ROOT_DIR: $OPENSSL_ROOT_DIR" 54*e7be843bSPierre Proncheryecho " Python: $PYTHON" 55*e7be843bSPierre Proncheryecho " TESTDATADIR: $TESTDATADIR" 56*e7be843bSPierre Proncheryecho " OPENSSL_VERSION: $OPENSSL_VERSION" 57*e7be843bSPierre Proncheryecho "------------------------------------------------------------------" 58*e7be843bSPierre Pronchery 59*e7be843bSPierre Proncherycd "${SRCTOP}/tlsfuzzer" 60*e7be843bSPierre Pronchery 61*e7be843bSPierre Proncherytest -L ecdsa || ln -s ../python-ecdsa/src/ecdsa ecdsa 62*e7be843bSPierre Proncherytest -L tlslite || ln -s ../tlslite-ng/tlslite tlslite 2>/dev/null 63*e7be843bSPierre Pronchery 64*e7be843bSPierre Proncheryretval=0 65*e7be843bSPierre Pronchery 66*e7be843bSPierre Proncherytls_fuzzer_prepare 67*e7be843bSPierre Pronchery 68*e7be843bSPierre ProncheryPYTHONPATH=. "${PYTHON}" tests/scripts_retention.py ${TMPFILE} ${SERV} 821 69*e7be843bSPierre Proncheryretval=$? 70*e7be843bSPierre Pronchery 71*e7be843bSPierre Proncheryrm -f ${TMPFILE} 72*e7be843bSPierre Pronchery[ -f "${PSKFILE}" ] && rm -f ${PSKFILE} 73*e7be843bSPierre Pronchery 74*e7be843bSPierre Proncherycd $PWD 75*e7be843bSPierre Pronchery 76*e7be843bSPierre Proncheryexit $retval 77