2022-03-09 12:28:22 -06:00
|
|
|
#!/bin/bash
|
2015-05-07 10:02:43 -07:00
|
|
|
|
|
|
|
# external.test
|
|
|
|
|
2021-02-10 14:18:32 -08:00
|
|
|
SCRIPT_DIR="$(dirname "$0")"
|
|
|
|
|
2015-05-07 10:02:43 -07:00
|
|
|
server=www.wolfssl.com
|
|
|
|
ca=./certs/wolfssl-website-ca.pem
|
|
|
|
|
|
|
|
[ ! -x ./examples/client/client ] && echo -e "\n\nClient doesn't exist" && exit 1
|
|
|
|
|
2018-08-28 15:37:15 +10:00
|
|
|
# www.wolfssl.com isn't using RFC 8446 yet but the draft instead.
|
2022-05-19 11:18:34 -05:00
|
|
|
if ! ./examples/client/client -V | grep -q 3; then
|
|
|
|
echo 'skipping external.test because TLS1.2 is not available.' 1>&2
|
2022-06-21 13:11:08 -07:00
|
|
|
exit 77
|
2022-05-19 11:18:34 -05:00
|
|
|
fi
|
|
|
|
|
|
|
|
# cloudflare seems to change CAs quickly, disabled by default
|
|
|
|
if test -n "$WOLFSSL_EXTERNAL_TEST"; then
|
|
|
|
|
|
|
|
BUILD_FLAGS="$(./examples/client/client '-#')"
|
|
|
|
if echo "$BUILD_FLAGS" | fgrep -q -e ' -DWOLFSSL_SNIFFER '; then
|
|
|
|
echo 'skipping WOLFSSL_EXTERNAL_TEST because -DWOLFSSL_SNIFFER configuration of build is incompatible.'
|
2022-06-21 13:11:08 -07:00
|
|
|
exit 77
|
2018-08-28 15:37:15 +10:00
|
|
|
fi
|
2015-10-20 11:56:46 -07:00
|
|
|
|
2022-05-19 11:18:34 -05:00
|
|
|
if echo "$BUILD_FLAGS" | fgrep -v -q -e ' -DHAVE_ECC '; then
|
|
|
|
echo 'skipping WOLFSSL_EXTERNAL_TEST because -UHAVE_ECC configuration of build is incompatible.'
|
2022-06-21 13:11:08 -07:00
|
|
|
exit 77
|
2022-05-19 11:18:34 -05:00
|
|
|
fi
|
2018-08-28 15:37:15 +10:00
|
|
|
|
2022-05-19 11:18:34 -05:00
|
|
|
echo "WOLFSSL_EXTERNAL_TEST set, running test..."
|
|
|
|
else
|
|
|
|
echo "WOLFSSL_EXTERNAL_TEST NOT set, won't run"
|
2022-06-21 13:11:08 -07:00
|
|
|
exit 77
|
2018-08-28 15:37:15 +10:00
|
|
|
fi
|
2015-05-07 10:02:43 -07:00
|
|
|
|
2022-05-19 11:18:34 -05:00
|
|
|
# is our desired server there?
|
|
|
|
"${SCRIPT_DIR}"/ping.test $server 2
|
|
|
|
RESULT=$?
|
|
|
|
[ $RESULT -ne 0 ] && exit 0
|
|
|
|
|
|
|
|
# client test against the server
|
|
|
|
./examples/client/client -X -C -h $server -p 443 -g -A $ca
|
|
|
|
RESULT=$?
|
|
|
|
[ $RESULT -ne 0 ] && echo -e "\n\nClient connection failed" && exit 1
|
|
|
|
|
2015-05-07 10:02:43 -07:00
|
|
|
exit 0
|