diff --git a/.gitignore b/.gitignore index e712a00ef..dfedec021 100644 --- a/.gitignore +++ b/.gitignore @@ -78,6 +78,7 @@ pkcs7signedData.der pkcs7envelopedData.der diff sslSniffer/sslSnifferTest/tracefile.txt +tracefile.txt *.gz *.zip *.bak diff --git a/Makefile.am b/Makefile.am index 2cbb27616..a47f19bf4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,6 +16,8 @@ EXTRA_HEADERS = BUILT_SOURCES= EXTRA_DIST= dist_doc_DATA= +dist_noinst_SCRIPTS = +check_SCRIPTS = #includes additional rules from aminclude.am @INC_AMINCLUDE@ @@ -94,6 +96,7 @@ include mcapi/wolfcrypt_test.X/nbproject/include.am include mcapi/wolfssl.X/nbproject/include.am include mcapi/zlib.X/nbproject/include.am include tirtos/include.am +include scripts/include.am if USE_VALGRIND TESTS_ENVIRONMENT=./valgrind-error.sh @@ -101,6 +104,10 @@ endif TEST_EXTENSIONS=.test TESTS += $(check_PROGRAMS) + +check_SCRIPTS+= $(dist_noinst_SCRIPTS) +TESTS += $(check_SCRIPTS) + test: check tests/unit.log: testsuite/testsuite.log diff --git a/scripts/include.am b/scripts/include.am new file mode 100644 index 000000000..971954376 --- /dev/null +++ b/scripts/include.am @@ -0,0 +1,9 @@ +# vim:ft=automake +# included from Top Level Makefile.am +# All paths should be given relative to the root + + +if BUILD_SNIFFTEST +dist_noinst_SCRIPTS+= scripts/sniffer-testsuite.test +endif +EXTRA_DIST += scripts/testsuite.pcap diff --git a/scripts/sniffer-testsuite.test b/scripts/sniffer-testsuite.test new file mode 100755 index 000000000..5dbaf86bc --- /dev/null +++ b/scripts/sniffer-testsuite.test @@ -0,0 +1,13 @@ +#!/bin/bash + +#sniffer-testsuite.test + +echo -e "\nStaring snifftest on testsuite.pcap...\n" +./sslSniffer/sslSnifferTest/snifftest ./scripts/testsuite.pcap ./certs/server-key.pem 127.0.0.1 11111 + +RESULT=$? +[ $RESULT -ne 0 ] && echo -e "\nsnifftest failed\n" && exit 1 + +echo -e "\nSuccess!\n" + +exit 0 diff --git a/scripts/testsuite.pcap b/scripts/testsuite.pcap new file mode 100644 index 000000000..a39ad3916 Binary files /dev/null and b/scripts/testsuite.pcap differ diff --git a/sslSniffer/sslSnifferTest/snifftest.c b/sslSniffer/sslSnifferTest/snifftest.c index 724b1d895..8ffe24d5a 100755 --- a/sslSniffer/sslSnifferTest/snifftest.c +++ b/sslSniffer/sslSnifferTest/snifftest.c @@ -123,6 +123,7 @@ static char* iptos(unsigned int addr) int main(int argc, char** argv) { int ret = 0; + int hadBadPacket = 0; int inum; int port; int saveFile = 0; @@ -303,8 +304,10 @@ int main(int argc, char** argv) continue; ret = ssl_DecodePacket(packet, header.caplen, data, err); - if (ret < 0) + if (ret < 0) { printf("ssl_Decode ret = %d, %s\n", ret, err); + hadBadPacket = 1; + } if (ret > 0) { data[ret] = 0; printf("SSL App Data(%d:%d):%s\n", packetNumber, ret, data); @@ -315,7 +318,7 @@ int main(int argc, char** argv) } FreeAll(); - return EXIT_SUCCESS; + return hadBadPacket ? EXIT_FAILURE : EXIT_SUCCESS; } #endif /* full build */