X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/9281ad283a74476eefaf039f8c4ebc7c001a1cd1..6c8ef0eb86a39c277d1a43802dd8ea01b51cfb2a:/tests/crypto.sh diff --git a/tests/crypto.sh b/tests/crypto.sh index f20e2391..fffcec28 100755 --- a/tests/crypto.sh +++ b/tests/crypto.sh @@ -1,14 +1,49 @@ #!/bin/sh +srcdir=${1-..} +echo crypto.sh using ${srcdir} from $(pwd) + +testdir=${srcdir}/tests + +exitcode=0 +passedfile=tests/.passed +failedfile=tests/.failed +passed=`cat ${passedfile}` +failed=`cat ${failedfile}` + # Only attempt OpenSSL-specific tests when compiled with the library. -if grep '^#define HAVE_LIBCRYPTO 1$' ../config.h >/dev/null +if grep '^#define HAVE_LIBCRYPTO 1$' ${srcdir}/config.h >/dev/null then - ./TESTonce esp1 02-sunrise-sunset-esp.pcap esp1.out '-t -E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"' - ./TESTonce esp2 08-sunrise-sunset-esp2.pcap esp2.out '-t -E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,0xabcdabcd@192.0.1.1 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043"' - ./TESTonce esp3 02-sunrise-sunset-esp.pcap esp1.out '-t -E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"' + if ${testdir}/TESTonce esp1 ${testdir}/02-sunrise-sunset-esp.pcap ${testdir}/esp1.out '-E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi + if ${testdir}//TESTonce esp2 ${testdir}/08-sunrise-sunset-esp2.pcap ${testdir}/esp2.out '-E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,0xabcdabcd@192.0.1.1 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043"' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi + if ${testdir}/TESTonce esp3 ${testdir}/02-sunrise-sunset-esp.pcap ${testdir}/esp1.out '-E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi # Reading the secret(s) from a file does not work with Capsicum. - if grep '^#define HAVE_CAPSICUM 1$' ../config.h >/dev/null + if grep '^#define HAVE_CAPSICUM 1$' ${srcdir}/config.h >/dev/null then FORMAT=' %-35s: TEST SKIPPED (compiled w/Capsicum)\n' printf "$FORMAT" esp4 @@ -17,12 +52,73 @@ then printf "$FORMAT" ikev2pI2 printf "$FORMAT" isakmp4 else - ./TESTonce esp4 08-sunrise-sunset-esp2.pcap esp2.out '-t -E "file esp-secrets.txt"' - ./TESTonce esp5 08-sunrise-sunset-aes.pcap esp5.out '-t -E "file esp-secrets.txt"' - ./TESTonce espudp1 espudp1.pcap espudp1.out '-nnnn -t -E "file esp-secrets.txt"' - ./TESTonce ikev2pI2 ikev2pI2.pcap ikev2pI2.out '-t -E "file ikev2pI2-secrets.txt" -v -v -v -v' - ./TESTonce isakmp4 isakmp4500.pcap isakmp4.out '-t -E "file esp-secrets.txt"' + if ${testdir}/TESTonce esp4 ${testdir}/08-sunrise-sunset-esp2.pcap ${testdir}/esp2.out '-E "file ${testdir}/esp-secrets.txt"' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi + if ${testdir}/TESTonce esp5 ${testdir}/08-sunrise-sunset-aes.pcap ${testdir}/esp5.out '-E "file ${testdir}/esp-secrets.txt"' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi + if ${testdir}/TESTonce espudp1 ${testdir}/espudp1.pcap ${testdir}/espudp1.out '-nnnn -E "file ${testdir}/esp-secrets.txt"' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi + if ${testdir}/TESTonce ikev2pI2 ${testdir}/ikev2pI2.pcap ${testdir}/ikev2pI2.out '-E "file ${testdir}/ikev2pI2-secrets.txt" -v -v -v -v' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi + if ${testdir}/TESTonce isakmp4 ${testdir}/isakmp4500.pcap ${testdir}/isakmp4.out '-E "file ${testdir}/esp-secrets.txt"' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi fi + if ${testdir}/TESTonce bgp-as-path-oobr-ssl ${testdir}/bgp-as-path-oobr.pcap ${testdir}/bgp-as-path-oobr-ssl.out '-vvv -e' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi + if ${testdir}/TESTonce bgp-aigp-oobr-ssl ${testdir}/bgp-aigp-oobr.pcap ${testdir}/bgp-aigp-oobr-ssl.out '-vvv -e' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi + FORMAT=' %-35s: TEST SKIPPED (compiled w/OpenSSL)\n' + printf "$FORMAT" bgp-as-path-oobr-nossl + printf "$FORMAT" bgp-aigp-oobr-nossl else FORMAT=' %-35s: TEST SKIPPED (compiled w/o OpenSSL)\n' printf "$FORMAT" esp1 @@ -33,4 +129,26 @@ else printf "$FORMAT" espudp1 printf "$FORMAT" ikev2pI2 printf "$FORMAT" isakmp4 + printf "$FORMAT" bgp-as-path-oobr-ssl + printf "$FORMAT" bgp-aigp-oobr-ssl + if ${testdir}/TESTonce bgp-as-path-oobr-nossl ${testdir}/bgp-as-path-oobr.pcap ${testdir}/bgp-as-path-oobr-nossl.out '-vvv -e' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi + if ${testdir}/TESTonce bgp-aigp-oobr-nossl ${testdir}/bgp-aigp-oobr.pcap ${testdir}/bgp-aigp-oobr-nossl.out '-vvv -e' + then + passed=`expr $passed + 1` + echo $passed >${passedfile} + else + failed=`expr $failed + 1` + echo $failed >${failedfile} + exitcode=1 + fi fi + +exit $exitcode