#!/usr/bin/env bash # dtlscid.test # Copyright wolfSSL 2022-2024 # if we can, isolate the network namespace to eliminate port collisions. if [[ -n "$NETWORK_UNSHARE_HELPER" ]]; then if [[ -z "$NETWORK_UNSHARE_HELPER_CALLED" ]]; then export NETWORK_UNSHARE_HELPER_CALLED=yes exec "$NETWORK_UNSHARE_HELPER" "$0" "$@" || exit $? fi elif [ "${AM_BWRAPPED-}" != "yes" ]; then bwrap_path="$(command -v bwrap)" if [ -n "$bwrap_path" ]; then export AM_BWRAPPED=yes exec "$bwrap_path" --unshare-net --dev-bind / / "$0" "$@" fi unset AM_BWRAPPED fi cleanup () { echo "Cleaning up..." if [ ! -z "$SERVER_PID" ];then echo "Killing server $SERVER_PID" kill $SERVER_PID fi } trap cleanup err exit CCID="AA" SCID="BB" HEXCID=$(printf $CCID | od -An -tx1 | tr -d ' \n') HEXSCID=$(printf $SCID | od -An -tx1 | tr -d ' \n') WOLFSSL_ROOT=$(pwd) test_cid () { echo "Running test_cid" SERVER_FILE=$(mktemp) CLIENT_FILE=$(mktemp) $WOLFSSL_ROOT/examples/server/server -v4 -u --cid $SCID 1> $SERVER_FILE & SERVER_PID=$! sleep 0.2 $WOLFSSL_ROOT/examples/client/client -v4 -u --cid $CCID 1> $CLIENT_FILE wait $SERVER_PID SERVER_PID= grep "Sending CID is ${HEXSCID}" $CLIENT_FILE > /dev/null grep "Sending CID is ${HEXCID}" $SERVER_FILE > /dev/null echo "test_cid has passed" } test_cid