]> The Tcpdump Group git mirrors - tcpdump/blob - tests/crypto.sh
Fix a bug in test scripts (exposed in GH #613).
[tcpdump] / tests / crypto.sh
1 #!/bin/sh
2
3 exitcode=0
4
5 # Only attempt OpenSSL-specific tests when compiled with the library.
6
7 if grep '^#define HAVE_LIBCRYPTO 1$' ../config.h >/dev/null
8 then
9 ./TESTonce esp1 02-sunrise-sunset-esp.pcap esp1.out '-E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
10 [ $? -eq 0 ] || exitcode=1
11 ./TESTonce esp2 08-sunrise-sunset-esp2.pcap esp2.out '-E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,0xabcdabcd@192.0.1.1 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043"'
12 [ $? -eq 0 ] || exitcode=1
13 ./TESTonce esp3 02-sunrise-sunset-esp.pcap esp1.out '-E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
14 [ $? -eq 0 ] || exitcode=1
15 # Reading the secret(s) from a file does not work with Capsicum.
16 if grep '^#define HAVE_CAPSICUM 1$' ../config.h >/dev/null
17 then
18 FORMAT=' %-35s: TEST SKIPPED (compiled w/Capsicum)\n'
19 printf "$FORMAT" esp4
20 printf "$FORMAT" esp5
21 printf "$FORMAT" espudp1
22 printf "$FORMAT" ikev2pI2
23 printf "$FORMAT" isakmp4
24 else
25 ./TESTonce esp4 08-sunrise-sunset-esp2.pcap esp2.out '-E "file esp-secrets.txt"'
26 [ $? -eq 0 ] || exitcode=1
27 ./TESTonce esp5 08-sunrise-sunset-aes.pcap esp5.out '-E "file esp-secrets.txt"'
28 [ $? -eq 0 ] || exitcode=1
29 ./TESTonce espudp1 espudp1.pcap espudp1.out '-nnnn -E "file esp-secrets.txt"'
30 [ $? -eq 0 ] || exitcode=1
31 ./TESTonce ikev2pI2 ikev2pI2.pcap ikev2pI2.out '-E "file ikev2pI2-secrets.txt" -v -v -v -v'
32 [ $? -eq 0 ] || exitcode=1
33 ./TESTonce isakmp4 isakmp4500.pcap isakmp4.out '-E "file esp-secrets.txt"'
34 [ $? -eq 0 ] || exitcode=1
35 fi
36 else
37 FORMAT=' %-35s: TEST SKIPPED (compiled w/o OpenSSL)\n'
38 printf "$FORMAT" esp1
39 printf "$FORMAT" esp2
40 printf "$FORMAT" esp3
41 printf "$FORMAT" esp4
42 printf "$FORMAT" esp5
43 printf "$FORMAT" espudp1
44 printf "$FORMAT" ikev2pI2
45 printf "$FORMAT" isakmp4
46 fi
47
48 exit $exitcode