add basic ConnectionID DTLS tests
This commit is contained in:
parent
90fcd95f9b
commit
f3262005e4
39
scripts/dtlscid.test
Executable file
39
scripts/dtlscid.test
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
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)
|
||||
SERVER_PORT=11111
|
||||
|
||||
(killall lt-server || true)
|
||||
(killall lt-client || true)
|
||||
|
||||
test_cid () {
|
||||
$WOLFSSL_ROOT/examples/server/server -v4 -u --cid $SCID 2>/tmp/serr 1>/tmp/sout &
|
||||
SERVER_PID=$!
|
||||
sleep 0.2
|
||||
now=$(date +%s.%N)
|
||||
$WOLFSSL_ROOT/examples/client/client -v4 -u --cid $CCID 2>/tmp/cerr 1>/tmp/cout
|
||||
elapsed=$(echo $(date +%s.%N) - $now | bc)
|
||||
echo "it took ${elapsed} sec(s)" >> /tmp/udp
|
||||
wait $SERVER_PID
|
||||
SERVER_PID=
|
||||
grep "Sending CID is ${HEXSCID}" < /tmp/cout
|
||||
grep "Sending CID is ${HEXCID}" < /tmp/sout
|
||||
}
|
||||
|
||||
test_cid
|
@ -116,4 +116,5 @@ EXTRA_DIST += scripts/cleanup_testfiles.sh
|
||||
|
||||
if BUILD_DTLS13
|
||||
EXTRA_DIST += scripts/dtls13.test
|
||||
EXTRA_DIST += scripts/dtlscid.test
|
||||
endif
|
||||
|
@ -45,6 +45,7 @@ EXTRA_DIST += tests/unit.h \
|
||||
tests/test-dtls13.conf \
|
||||
tests/test-dtls13-downgrade.conf \
|
||||
tests/test-dtls13-psk.conf \
|
||||
tests/test-dtls13-cid.conf \
|
||||
tests/test-sctp.conf \
|
||||
tests/test-sctp-sha2.conf \
|
||||
tests/test-sig.conf \
|
||||
|
@ -1153,6 +1153,17 @@ int SuiteTest(int argc, char** argv)
|
||||
}
|
||||
#endif /* NO_PSK */
|
||||
|
||||
#ifdef WOLFSSL_DTLS_CID
|
||||
XSTRLCPY(argv0[1], "tests/test-dtls13-cid.conf", sizeof(argv0[1]));
|
||||
printf("starting DTLS 1.3 ConnectionID suite tests\n");
|
||||
test_harness(&args);
|
||||
if (args.return_code != 0) {
|
||||
printf("error from script %d\n", args.return_code);
|
||||
args.return_code = EXIT_FAILURE;
|
||||
goto exit;
|
||||
}
|
||||
#endif /* WOLFSSL_DTLS_CID */
|
||||
|
||||
#endif /* WOLFSSL_DTLS13 */
|
||||
|
||||
#endif
|
||||
|
80
tests/test-dtls13-cid.conf
Normal file
80
tests/test-dtls13-cid.conf
Normal file
@ -0,0 +1,80 @@
|
||||
# server DTLSv1.3 empty CID
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid
|
||||
|
||||
# client DTLSv1.3 empty CID
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid
|
||||
|
||||
# server DTLSv1.3 A CID
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid AA
|
||||
|
||||
# client DTLSv1.3 empty CID
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid
|
||||
|
||||
# server DTLSv1.3 Empty CID
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid
|
||||
|
||||
# client DTLSv1.3 B CID
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid BB
|
||||
|
||||
# server DTLSv1.3 A CID
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid AA
|
||||
|
||||
# client DTLSv1.3 B CID
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid BB
|
||||
|
||||
# server DTLSv1.3 No CID support
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
|
||||
# client DTLSv1.3 B CID
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid B
|
||||
|
||||
# server DTLSv1.3 CID A
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
|
||||
# client DTLSv1.3 No CID support
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
|
||||
# server DTLSv1.3 CID 2 bytes
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid AA
|
||||
|
||||
# client DTLSv1.3 CID 1 byte
|
||||
-v 4
|
||||
-u
|
||||
-l TLS_AES_128_GCM_SHA256
|
||||
--cid B
|
@ -5445,10 +5445,19 @@ static WC_INLINE int process_handshake_messages(WOLFSSL* ssl, int blocking,
|
||||
}
|
||||
#endif /* HAVE_SESSION_TICKET || WOLFSSL_DTLS13 */
|
||||
|
||||
static WC_INLINE void printBuffer(const byte *buf, int size)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < size; i++)
|
||||
printf("%x", buf[i]);
|
||||
}
|
||||
|
||||
#if !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \
|
||||
defined(DEBUG_UNIT_TEST_CERTS)
|
||||
void DEBUG_WRITE_CERT_X509(WOLFSSL_X509* x509, const char* fileName);
|
||||
void DEBUG_WRITE_DER(const byte* der, int derSz, const char* fileName);
|
||||
#endif
|
||||
|
||||
#define DTLS_CID_BUFFER_SIZE 256
|
||||
|
||||
#endif /* wolfSSL_TEST_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user