]> The Tcpdump Group git mirrors - tcpdump/blob - tests/crypto.sh
change make check to work with POSIX shell
[tcpdump] / tests / crypto.sh
1 #!/bin/sh
2
3 srcdir=${1-..}
4 echo crypto.sh using ${srcdir} from $(pwd)
5
6 testdir=${srcdir}/tests
7
8 exitcode=0
9 passedfile=tests/.passed
10 failedfile=tests/.failed
11 passed=`cat ${passedfile}`
12 failed=`cat ${failedfile}`
13
14 # Only attempt OpenSSL-specific tests when compiled with the library.
15
16 if grep '^#define HAVE_LIBCRYPTO 1$' ${srcdir}/config.h >/dev/null
17 then
18 if ${testdir}/TESTonce esp1 ${testdir}/02-sunrise-sunset-esp.pcap ${testdir}/esp1.out '-E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
19 then
20 passed=`expr $passed + 1`
21 echo $passed >${passedfile}
22 else
23 failed=`expr $failed + 1`
24 echo $failed >${failedfile}
25 exitcode=1
26 fi
27 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"'
28 then
29 passed=`expr $passed + 1`
30 echo $passed >${passedfile}
31 else
32 failed=`expr $failed + 1`
33 echo $failed >${failedfile}
34 exitcode=1
35 fi
36 if ${testdir}/TESTonce esp3 ${testdir}/02-sunrise-sunset-esp.pcap ${testdir}/esp1.out '-E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
37 then
38 passed=`expr $passed + 1`
39 echo $passed >${passedfile}
40 else
41 failed=`expr $failed + 1`
42 echo $failed >${failedfile}
43 exitcode=1
44 fi
45 # Reading the secret(s) from a file does not work with Capsicum.
46 if grep '^#define HAVE_CAPSICUM 1$' ${srcdir}/config.h >/dev/null
47 then
48 FORMAT=' %-35s: TEST SKIPPED (compiled w/Capsicum)\n'
49 printf "$FORMAT" esp4
50 printf "$FORMAT" esp5
51 printf "$FORMAT" espudp1
52 printf "$FORMAT" ikev2pI2
53 printf "$FORMAT" isakmp4
54 else
55 if ${testdir}/TESTonce esp4 ${testdir}/08-sunrise-sunset-esp2.pcap ${testdir}/esp2.out '-E "file ${testdir}/esp-secrets.txt"'
56 then
57 passed=`expr $passed + 1`
58 echo $passed >${passedfile}
59 else
60 failed=`expr $failed + 1`
61 echo $failed >${failedfile}
62 exitcode=1
63 fi
64 if ${testdir}/TESTonce esp5 ${testdir}/08-sunrise-sunset-aes.pcap ${testdir}/esp5.out '-E "file ${testdir}/esp-secrets.txt"'
65 then
66 passed=`expr $passed + 1`
67 echo $passed >${passedfile}
68 else
69 failed=`expr $failed + 1`
70 echo $failed >${failedfile}
71 exitcode=1
72 fi
73 if ${testdir}/TESTonce espudp1 ${testdir}/espudp1.pcap ${testdir}/espudp1.out '-nnnn -E "file ${testdir}/esp-secrets.txt"'
74 then
75 passed=`expr $passed + 1`
76 echo $passed >${passedfile}
77 else
78 failed=`expr $failed + 1`
79 echo $failed >${failedfile}
80 exitcode=1
81 fi
82 if ${testdir}/TESTonce ikev2pI2 ${testdir}/ikev2pI2.pcap ${testdir}/ikev2pI2.out '-E "file ${testdir}/ikev2pI2-secrets.txt" -v -v -v -v'
83 then
84 passed=`expr $passed + 1`
85 echo $passed >${passedfile}
86 else
87 failed=`expr $failed + 1`
88 echo $failed >${failedfile}
89 exitcode=1
90 fi
91 if ${testdir}/TESTonce isakmp4 ${testdir}/isakmp4500.pcap ${testdir}/isakmp4.out '-E "file ${testdir}/esp-secrets.txt"'
92 then
93 passed=`expr $passed + 1`
94 echo $passed >${passedfile}
95 else
96 failed=`expr $failed + 1`
97 echo $failed >${failedfile}
98 exitcode=1
99 fi
100 fi
101 if ${testdir}/TESTonce bgp-as-path-oobr-ssl ${testdir}/bgp-as-path-oobr.pcap ${testdir}/bgp-as-path-oobr-ssl.out '-vvv -e'
102 then
103 passed=`expr $passed + 1`
104 echo $passed >${passedfile}
105 else
106 failed=`expr $failed + 1`
107 echo $failed >${failedfile}
108 exitcode=1
109 fi
110 if ${testdir}/TESTonce bgp-aigp-oobr-ssl ${testdir}/bgp-aigp-oobr.pcap ${testdir}/bgp-aigp-oobr-ssl.out '-vvv -e'
111 then
112 passed=`expr $passed + 1`
113 echo $passed >${passedfile}
114 else
115 failed=`expr $failed + 1`
116 echo $failed >${failedfile}
117 exitcode=1
118 fi
119 FORMAT=' %-35s: TEST SKIPPED (compiled w/OpenSSL)\n'
120 printf "$FORMAT" bgp-as-path-oobr-nossl
121 printf "$FORMAT" bgp-aigp-oobr-nossl
122 else
123 FORMAT=' %-35s: TEST SKIPPED (compiled w/o OpenSSL)\n'
124 printf "$FORMAT" esp1
125 printf "$FORMAT" esp2
126 printf "$FORMAT" esp3
127 printf "$FORMAT" esp4
128 printf "$FORMAT" esp5
129 printf "$FORMAT" espudp1
130 printf "$FORMAT" ikev2pI2
131 printf "$FORMAT" isakmp4
132 printf "$FORMAT" bgp-as-path-oobr-ssl
133 printf "$FORMAT" bgp-aigp-oobr-ssl
134 if ${testdir}/TESTonce bgp-as-path-oobr-nossl ${testdir}/bgp-as-path-oobr.pcap ${testdir}/bgp-as-path-oobr-nossl.out '-vvv -e'
135 then
136 passed=`expr $passed + 1`
137 echo $passed >${passedfile}
138 else
139 failed=`expr $failed + 1`
140 echo $failed >${failedfile}
141 exitcode=1
142 fi
143 if ${testdir}/TESTonce bgp-aigp-oobr-nossl ${testdir}/bgp-aigp-oobr.pcap ${testdir}/bgp-aigp-oobr-nossl.out '-vvv -e'
144 then
145 passed=`expr $passed + 1`
146 echo $passed >${passedfile}
147 else
148 failed=`expr $failed + 1`
149 echo $failed >${failedfile}
150 exitcode=1
151 fi
152 fi
153
154 exit $exitcode