xref: /freebsd/crypto/openssl/test/recipes/95-test_external_tlsfuzzer_data/tlsfuzzer.sh (revision e7be843b4a162e68651d3911f0357ed464915629)
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