Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 1 | # Test that SSL sample programs can interoperate with each other |
| 2 | # and with OpenSSL and GnuTLS. |
Gilles Peskine | a602a41 | 2024-09-04 16:04:42 +0200 | [diff] [blame] | 3 | |
| 4 | # Copyright The Mbed TLS Contributors |
| 5 | # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later |
| 6 | |
| 7 | : ${PROGRAMS_DIR:=../programs/ssl} |
Gilles Peskine | 7985d45 | 2024-09-04 16:06:10 +0200 | [diff] [blame] | 8 | |
Gilles Peskine | 465837b | 2024-09-25 21:26:02 +0200 | [diff] [blame] | 9 | # Disable session tickets for ssl_client1 when potentially using TLS 1.3 |
| 10 | # until https://github.com/Mbed-TLS/mbedtls/issues/6640 is resolved |
| 11 | # and (if relevant) implemented in ssl_client1. |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 12 | run_test "Sample: ssl_client1, ssl_server2" \ |
| 13 | -P 4433 \ |
Gilles Peskine | 465837b | 2024-09-25 21:26:02 +0200 | [diff] [blame] | 14 | "$PROGRAMS_DIR/ssl_server2 tickets=0" \ |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 15 | "$PROGRAMS_DIR/ssl_client1" \ |
| 16 | 0 \ |
| 17 | -s "[1-9][0-9]* bytes read" \ |
| 18 | -s "[1-9][0-9]* bytes written" \ |
| 19 | -c "[1-9][0-9]* bytes read" \ |
| 20 | -c "[1-9][0-9]* bytes written" \ |
| 21 | -S "error" \ |
| 22 | -C "error" |
| 23 | |
Gilles Peskine | 7985d45 | 2024-09-04 16:06:10 +0200 | [diff] [blame] | 24 | requires_protocol_version tls12 |
| 25 | run_test "Sample: ssl_client1, openssl server, TLS 1.2" \ |
| 26 | -P 4433 \ |
| 27 | "$O_SRV -tls1_2" \ |
| 28 | "$PROGRAMS_DIR/ssl_client1" \ |
| 29 | 0 \ |
Gilles Peskine | 6ef5239 | 2024-09-04 23:33:36 +0200 | [diff] [blame] | 30 | -c "Protocol.*TLSv1.2" \ |
Gilles Peskine | 7985d45 | 2024-09-04 16:06:10 +0200 | [diff] [blame] | 31 | -S "ERROR" \ |
| 32 | -C "error" |
| 33 | |
| 34 | requires_protocol_version tls12 |
| 35 | run_test "Sample: ssl_client1, gnutls server, TLS 1.2" \ |
| 36 | -P 4433 \ |
| 37 | "$G_SRV --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2" \ |
| 38 | "$PROGRAMS_DIR/ssl_client1" \ |
| 39 | 0 \ |
| 40 | -s "Version: TLS1.2" \ |
| 41 | -c "<TD>Protocol version:</TD><TD>TLS1.2</TD>" \ |
| 42 | -S "Error" \ |
| 43 | -C "error" |
| 44 | |
Gilles Peskine | 465837b | 2024-09-25 21:26:02 +0200 | [diff] [blame] | 45 | # Disable session tickets for ssl_client1 when using TLS 1.3 |
| 46 | # until https://github.com/Mbed-TLS/mbedtls/issues/6640 is resolved |
| 47 | # and (if relevant) implemented in ssl_client1. |
Gilles Peskine | 7985d45 | 2024-09-04 16:06:10 +0200 | [diff] [blame] | 48 | requires_protocol_version tls13 |
Gilles Peskine | 3338821 | 2024-09-04 23:32:42 +0200 | [diff] [blame] | 49 | requires_openssl_tls1_3 |
Gilles Peskine | 7985d45 | 2024-09-04 16:06:10 +0200 | [diff] [blame] | 50 | run_test "Sample: ssl_client1, openssl server, TLS 1.3" \ |
| 51 | -P 4433 \ |
Gilles Peskine | 465837b | 2024-09-25 21:26:02 +0200 | [diff] [blame] | 52 | "$O_NEXT_SRV -tls1_3 -num_tickets 0" \ |
Gilles Peskine | 7985d45 | 2024-09-04 16:06:10 +0200 | [diff] [blame] | 53 | "$PROGRAMS_DIR/ssl_client1" \ |
| 54 | 0 \ |
| 55 | -c "New, TLSv1.3, Cipher is" \ |
| 56 | -S "ERROR" \ |
| 57 | -C "error" |
| 58 | |
Gilles Peskine | 465837b | 2024-09-25 21:26:02 +0200 | [diff] [blame] | 59 | # Disable session tickets for ssl_client1 when using TLS 1.3 |
| 60 | # until https://github.com/Mbed-TLS/mbedtls/issues/6640 is resolved |
| 61 | # and (if relevant) implemented in ssl_client1. |
Gilles Peskine | 7985d45 | 2024-09-04 16:06:10 +0200 | [diff] [blame] | 62 | requires_protocol_version tls13 |
Gilles Peskine | 8db2b79 | 2024-09-05 13:05:49 +0200 | [diff] [blame] | 63 | requires_gnutls_tls1_3 |
Gilles Peskine | 7985d45 | 2024-09-04 16:06:10 +0200 | [diff] [blame] | 64 | run_test "Sample: ssl_client1, gnutls server, TLS 1.3" \ |
| 65 | -P 4433 \ |
Gilles Peskine | 465837b | 2024-09-25 21:26:02 +0200 | [diff] [blame] | 66 | "$G_NEXT_SRV --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 --noticket" \ |
Gilles Peskine | 7985d45 | 2024-09-04 16:06:10 +0200 | [diff] [blame] | 67 | "$PROGRAMS_DIR/ssl_client1" \ |
| 68 | 0 \ |
| 69 | -s "Version: TLS1.3" \ |
| 70 | -c "<TD>Protocol version:</TD><TD>TLS1.3</TD>" \ |
| 71 | -S "Error" \ |
| 72 | -C "error" |
Gilles Peskine | ae710c8 | 2024-09-04 16:07:56 +0200 | [diff] [blame] | 73 | |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 74 | # The server complains of extra data after it closes the connection |
| 75 | # because the client keeps sending data, so the server receives |
| 76 | # more application data when it expects a new handshake. We consider |
| 77 | # the test a success if both sides have sent and received application |
| 78 | # data, no matter what happens afterwards. |
| 79 | run_test "Sample: dtls_client, ssl_server2" \ |
| 80 | -P 4433 \ |
| 81 | "$PROGRAMS_DIR/ssl_server2 dtls=1 server_addr=localhost" \ |
| 82 | "$PROGRAMS_DIR/dtls_client" \ |
| 83 | 0 \ |
| 84 | -s "[1-9][0-9]* bytes read" \ |
| 85 | -s "[1-9][0-9]* bytes written" \ |
| 86 | -c "[1-9][0-9]* bytes read" \ |
| 87 | -c "[1-9][0-9]* bytes written" \ |
| 88 | -C "error" |
| 89 | |
Gilles Peskine | e13ff09 | 2024-09-13 18:15:13 +0200 | [diff] [blame] | 90 | # The dtls_client program connects to localhost. This test case fails on |
| 91 | # systems where the name "localhost" resolves to an IPv6 address, but |
| 92 | # the IPv6 connection is not possible. Possible reasons include: |
| 93 | # * OpenSSL is too old (IPv6 support was added in 1.1.0). |
| 94 | # * OpenSSL was built without IPv6 support. |
| 95 | # * A firewall blocks IPv6. |
| 96 | # |
| 97 | # To facilitate working with this test case, have it run with $OPENSSL_NEXT |
| 98 | # which is at least 1.1.1a. At the time it was introduced, this test case |
| 99 | # passed with OpenSSL 1.0.2g on an environment where IPv6 is disabled. |
Gilles Peskine | ae710c8 | 2024-09-04 16:07:56 +0200 | [diff] [blame] | 100 | requires_protocol_version dtls12 |
| 101 | run_test "Sample: dtls_client, openssl server, DTLS 1.2" \ |
| 102 | -P 4433 \ |
Gilles Peskine | e13ff09 | 2024-09-13 18:15:13 +0200 | [diff] [blame] | 103 | "$O_NEXT_SRV -dtls1_2" \ |
Gilles Peskine | ae710c8 | 2024-09-04 16:07:56 +0200 | [diff] [blame] | 104 | "$PROGRAMS_DIR/dtls_client" \ |
| 105 | 0 \ |
| 106 | -s "Echo this" \ |
Gilles Peskine | ae710c8 | 2024-09-04 16:07:56 +0200 | [diff] [blame] | 107 | -c "Echo this" \ |
| 108 | -c "[1-9][0-9]* bytes written" \ |
| 109 | -c "[1-9][0-9]* bytes read" \ |
| 110 | -S "ERROR" \ |
| 111 | -C "error" |
| 112 | |
| 113 | requires_protocol_version dtls12 |
| 114 | run_test "Sample: dtls_client, gnutls server, DTLS 1.2" \ |
| 115 | -P 4433 \ |
| 116 | "$G_SRV -u --echo --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2" \ |
| 117 | "$PROGRAMS_DIR/dtls_client" \ |
| 118 | 0 \ |
| 119 | -s "Server listening" \ |
| 120 | -s "[1-9][0-9]* bytes command:" \ |
| 121 | -c "Echo this" \ |
| 122 | -c "[1-9][0-9]* bytes written" \ |
| 123 | -c "[1-9][0-9]* bytes read" \ |
| 124 | -S "Error" \ |
| 125 | -C "error" |
Gilles Peskine | a21e893 | 2024-09-04 16:30:32 +0200 | [diff] [blame] | 126 | |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 127 | run_test "Sample: ssl_server, ssl_client2" \ |
| 128 | -P 4433 \ |
| 129 | "$PROGRAMS_DIR/ssl_server" \ |
| 130 | "$PROGRAMS_DIR/ssl_client2" \ |
| 131 | 0 \ |
| 132 | -s "[1-9][0-9]* bytes read" \ |
| 133 | -s "[1-9][0-9]* bytes written" \ |
| 134 | -c "[1-9][0-9]* bytes read" \ |
| 135 | -c "[1-9][0-9]* bytes written" \ |
| 136 | -S "error" \ |
| 137 | -C "error" |
| 138 | |
| 139 | run_test "Sample: ssl_client1 with ssl_server" \ |
| 140 | -P 4433 \ |
| 141 | "$PROGRAMS_DIR/ssl_server" \ |
| 142 | "$PROGRAMS_DIR/ssl_client1" \ |
| 143 | 0 \ |
| 144 | -s "[1-9][0-9]* bytes read" \ |
| 145 | -s "[1-9][0-9]* bytes written" \ |
| 146 | -c "[1-9][0-9]* bytes read" \ |
| 147 | -c "[1-9][0-9]* bytes written" \ |
| 148 | -S "error" \ |
| 149 | -C "error" |
| 150 | |
Gilles Peskine | a21e893 | 2024-09-04 16:30:32 +0200 | [diff] [blame] | 151 | requires_protocol_version tls12 |
| 152 | run_test "Sample: ssl_server, openssl client, TLS 1.2" \ |
| 153 | -P 4433 \ |
| 154 | "$PROGRAMS_DIR/ssl_server" \ |
| 155 | "$O_CLI -tls1_2" \ |
| 156 | 0 \ |
| 157 | -s "Successful connection using: TLS-" \ |
Gilles Peskine | 6ef5239 | 2024-09-04 23:33:36 +0200 | [diff] [blame] | 158 | -c "Protocol.*TLSv1.2" \ |
Gilles Peskine | a21e893 | 2024-09-04 16:30:32 +0200 | [diff] [blame] | 159 | -S "error" \ |
| 160 | -C "ERROR" |
| 161 | |
| 162 | requires_protocol_version tls12 |
| 163 | run_test "Sample: ssl_server, gnutls client, TLS 1.2" \ |
| 164 | -P 4433 \ |
| 165 | "$PROGRAMS_DIR/ssl_server" \ |
| 166 | "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \ |
| 167 | 0 \ |
| 168 | -s "Successful connection using: TLS-" \ |
| 169 | -c "Description:.*TLS1.2" \ |
| 170 | -S "error" \ |
| 171 | -C "ERROR" |
| 172 | |
| 173 | requires_protocol_version tls13 |
Gilles Peskine | 3338821 | 2024-09-04 23:32:42 +0200 | [diff] [blame] | 174 | requires_openssl_tls1_3 |
Gilles Peskine | a21e893 | 2024-09-04 16:30:32 +0200 | [diff] [blame] | 175 | run_test "Sample: ssl_server, openssl client, TLS 1.3" \ |
| 176 | -P 4433 \ |
| 177 | "$PROGRAMS_DIR/ssl_server" \ |
Gilles Peskine | 3338821 | 2024-09-04 23:32:42 +0200 | [diff] [blame] | 178 | "$O_NEXT_CLI -tls1_3" \ |
Gilles Peskine | a21e893 | 2024-09-04 16:30:32 +0200 | [diff] [blame] | 179 | 0 \ |
| 180 | -s "Successful connection using: TLS1-3-" \ |
| 181 | -c "New, TLSv1.3, Cipher is" \ |
| 182 | -S "error" \ |
| 183 | -C "ERROR" |
| 184 | |
| 185 | requires_protocol_version tls13 |
Gilles Peskine | 8db2b79 | 2024-09-05 13:05:49 +0200 | [diff] [blame] | 186 | requires_gnutls_tls1_3 |
Gilles Peskine | a21e893 | 2024-09-04 16:30:32 +0200 | [diff] [blame] | 187 | run_test "Sample: ssl_server, gnutls client, TLS 1.3" \ |
| 188 | -P 4433 \ |
| 189 | "$PROGRAMS_DIR/ssl_server" \ |
Gilles Peskine | 8db2b79 | 2024-09-05 13:05:49 +0200 | [diff] [blame] | 190 | "$G_NEXT_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \ |
Gilles Peskine | a21e893 | 2024-09-04 16:30:32 +0200 | [diff] [blame] | 191 | 0 \ |
| 192 | -s "Successful connection using: TLS1-3-" \ |
| 193 | -c "Description:.*TLS1.3" \ |
| 194 | -S "error" \ |
| 195 | -C "ERROR" |
Gilles Peskine | 3abca95 | 2024-09-04 16:31:06 +0200 | [diff] [blame] | 196 | |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 197 | run_test "Sample: ssl_fork_server, ssl_client2" \ |
| 198 | -P 4433 \ |
| 199 | "$PROGRAMS_DIR/ssl_fork_server" \ |
| 200 | "$PROGRAMS_DIR/ssl_client2" \ |
| 201 | 0 \ |
| 202 | -s "[1-9][0-9]* bytes read" \ |
| 203 | -s "[1-9][0-9]* bytes written" \ |
| 204 | -c "[1-9][0-9]* bytes read" \ |
| 205 | -c "[1-9][0-9]* bytes written" \ |
| 206 | -S "error" \ |
| 207 | -C "error" |
| 208 | |
| 209 | run_test "Sample: ssl_client1 with ssl_fork_server" \ |
| 210 | -P 4433 \ |
| 211 | "$PROGRAMS_DIR/ssl_fork_server" \ |
| 212 | "$PROGRAMS_DIR/ssl_client1" \ |
| 213 | 0 \ |
| 214 | -s "[1-9][0-9]* bytes read" \ |
| 215 | -s "[1-9][0-9]* bytes written" \ |
| 216 | -c "[1-9][0-9]* bytes read" \ |
| 217 | -c "[1-9][0-9]* bytes written" \ |
| 218 | -S "error" \ |
| 219 | -C "error" |
| 220 | |
Gilles Peskine | 3abca95 | 2024-09-04 16:31:06 +0200 | [diff] [blame] | 221 | requires_protocol_version tls12 |
Gilles Peskine | c83e56c | 2024-09-04 17:47:14 +0200 | [diff] [blame] | 222 | run_test "Sample: ssl_fork_server, openssl client, TLS 1.2" \ |
| 223 | -P 4433 \ |
| 224 | "$PROGRAMS_DIR/ssl_fork_server" \ |
| 225 | "$O_CLI -tls1_2" \ |
| 226 | 0 \ |
| 227 | -s "Successful connection using: TLS-" \ |
Gilles Peskine | 6ef5239 | 2024-09-04 23:33:36 +0200 | [diff] [blame] | 228 | -c "Protocol.*TLSv1.2" \ |
Gilles Peskine | c83e56c | 2024-09-04 17:47:14 +0200 | [diff] [blame] | 229 | -S "error" \ |
| 230 | -C "ERROR" |
| 231 | |
| 232 | requires_protocol_version tls12 |
| 233 | run_test "Sample: ssl_fork_server, gnutls client, TLS 1.2" \ |
| 234 | -P 4433 \ |
| 235 | "$PROGRAMS_DIR/ssl_fork_server" \ |
| 236 | "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \ |
| 237 | 0 \ |
| 238 | -s "Successful connection using: TLS-" \ |
| 239 | -c "Description:.*TLS1.2" \ |
| 240 | -S "error" \ |
| 241 | -C "ERROR" |
| 242 | |
| 243 | requires_protocol_version tls13 |
Gilles Peskine | 3338821 | 2024-09-04 23:32:42 +0200 | [diff] [blame] | 244 | requires_openssl_tls1_3 |
Gilles Peskine | c83e56c | 2024-09-04 17:47:14 +0200 | [diff] [blame] | 245 | run_test "Sample: ssl_fork_server, openssl client, TLS 1.3" \ |
| 246 | -P 4433 \ |
| 247 | "$PROGRAMS_DIR/ssl_fork_server" \ |
Gilles Peskine | 3338821 | 2024-09-04 23:32:42 +0200 | [diff] [blame] | 248 | "$O_NEXT_CLI -tls1_3" \ |
Gilles Peskine | c83e56c | 2024-09-04 17:47:14 +0200 | [diff] [blame] | 249 | 0 \ |
| 250 | -s "Successful connection using: TLS1-3-" \ |
| 251 | -c "New, TLSv1.3, Cipher is" \ |
| 252 | -S "error" \ |
| 253 | -C "ERROR" |
| 254 | |
| 255 | requires_protocol_version tls13 |
Gilles Peskine | 8db2b79 | 2024-09-05 13:05:49 +0200 | [diff] [blame] | 256 | requires_gnutls_tls1_3 |
Gilles Peskine | c83e56c | 2024-09-04 17:47:14 +0200 | [diff] [blame] | 257 | run_test "Sample: ssl_fork_server, gnutls client, TLS 1.3" \ |
| 258 | -P 4433 \ |
| 259 | "$PROGRAMS_DIR/ssl_fork_server" \ |
Gilles Peskine | 8db2b79 | 2024-09-05 13:05:49 +0200 | [diff] [blame] | 260 | "$G_NEXT_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \ |
Gilles Peskine | c83e56c | 2024-09-04 17:47:14 +0200 | [diff] [blame] | 261 | 0 \ |
| 262 | -s "Successful connection using: TLS1-3-" \ |
| 263 | -c "Description:.*TLS1.3" \ |
| 264 | -S "error" \ |
| 265 | -C "ERROR" |
| 266 | |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 267 | run_test "Sample: ssl_pthread_server, ssl_client2" \ |
| 268 | -P 4433 \ |
| 269 | "$PROGRAMS_DIR/ssl_pthread_server" \ |
| 270 | "$PROGRAMS_DIR/ssl_client2" \ |
| 271 | 0 \ |
| 272 | -s "[1-9][0-9]* bytes read" \ |
| 273 | -s "[1-9][0-9]* bytes written" \ |
| 274 | -c "[1-9][0-9]* bytes read" \ |
| 275 | -c "[1-9][0-9]* bytes written" \ |
| 276 | -S "error" \ |
| 277 | -C "error" |
| 278 | |
| 279 | run_test "Sample: ssl_client1 with ssl_pthread_server" \ |
| 280 | -P 4433 \ |
| 281 | "$PROGRAMS_DIR/ssl_pthread_server" \ |
| 282 | "$PROGRAMS_DIR/ssl_client1" \ |
| 283 | 0 \ |
| 284 | -s "[1-9][0-9]* bytes read" \ |
| 285 | -s "[1-9][0-9]* bytes written" \ |
| 286 | -c "[1-9][0-9]* bytes read" \ |
| 287 | -c "[1-9][0-9]* bytes written" \ |
| 288 | -S "error" \ |
| 289 | -C "error" |
| 290 | |
Gilles Peskine | c83e56c | 2024-09-04 17:47:14 +0200 | [diff] [blame] | 291 | requires_protocol_version tls12 |
Gilles Peskine | 3abca95 | 2024-09-04 16:31:06 +0200 | [diff] [blame] | 292 | run_test "Sample: ssl_pthread_server, openssl client, TLS 1.2" \ |
| 293 | -P 4433 \ |
| 294 | "$PROGRAMS_DIR/ssl_pthread_server" \ |
| 295 | "$O_CLI -tls1_2" \ |
| 296 | 0 \ |
| 297 | -s "Successful connection using: TLS-" \ |
Gilles Peskine | 6ef5239 | 2024-09-04 23:33:36 +0200 | [diff] [blame] | 298 | -c "Protocol.*TLSv1.2" \ |
Gilles Peskine | 3abca95 | 2024-09-04 16:31:06 +0200 | [diff] [blame] | 299 | -S "error" \ |
| 300 | -C "ERROR" |
| 301 | |
| 302 | requires_protocol_version tls12 |
| 303 | run_test "Sample: ssl_pthread_server, gnutls client, TLS 1.2" \ |
| 304 | -P 4433 \ |
| 305 | "$PROGRAMS_DIR/ssl_pthread_server" \ |
| 306 | "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \ |
| 307 | 0 \ |
| 308 | -s "Successful connection using: TLS-" \ |
| 309 | -c "Description:.*TLS1.2" \ |
| 310 | -S "error" \ |
| 311 | -C "ERROR" |
| 312 | |
| 313 | requires_protocol_version tls13 |
Gilles Peskine | 3338821 | 2024-09-04 23:32:42 +0200 | [diff] [blame] | 314 | requires_openssl_tls1_3 |
Gilles Peskine | 3abca95 | 2024-09-04 16:31:06 +0200 | [diff] [blame] | 315 | run_test "Sample: ssl_pthread_server, openssl client, TLS 1.3" \ |
| 316 | -P 4433 \ |
| 317 | "$PROGRAMS_DIR/ssl_pthread_server" \ |
Gilles Peskine | 3338821 | 2024-09-04 23:32:42 +0200 | [diff] [blame] | 318 | "$O_NEXT_CLI -tls1_3" \ |
Gilles Peskine | 3abca95 | 2024-09-04 16:31:06 +0200 | [diff] [blame] | 319 | 0 \ |
| 320 | -s "Successful connection using: TLS1-3-" \ |
| 321 | -c "New, TLSv1.3, Cipher is" \ |
| 322 | -S "error" \ |
| 323 | -C "ERROR" |
| 324 | |
| 325 | requires_protocol_version tls13 |
Gilles Peskine | 8db2b79 | 2024-09-05 13:05:49 +0200 | [diff] [blame] | 326 | requires_gnutls_tls1_3 |
Gilles Peskine | 3abca95 | 2024-09-04 16:31:06 +0200 | [diff] [blame] | 327 | run_test "Sample: ssl_pthread_server, gnutls client, TLS 1.3" \ |
| 328 | -P 4433 \ |
| 329 | "$PROGRAMS_DIR/ssl_pthread_server" \ |
Gilles Peskine | 8db2b79 | 2024-09-05 13:05:49 +0200 | [diff] [blame] | 330 | "$G_NEXT_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \ |
Gilles Peskine | 3abca95 | 2024-09-04 16:31:06 +0200 | [diff] [blame] | 331 | 0 \ |
| 332 | -s "Successful connection using: TLS1-3-" \ |
| 333 | -c "Description:.*TLS1.3" \ |
| 334 | -S "error" \ |
| 335 | -C "ERROR" |
Gilles Peskine | 6b4d693 | 2024-09-04 16:51:50 +0200 | [diff] [blame] | 336 | |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 337 | run_test "Sample: dtls_client with dtls_server" \ |
| 338 | -P 4433 \ |
| 339 | "$PROGRAMS_DIR/dtls_server" \ |
| 340 | "$PROGRAMS_DIR/dtls_client" \ |
| 341 | 0 \ |
| 342 | -s "[1-9][0-9]* bytes read" \ |
| 343 | -s "[1-9][0-9]* bytes written" \ |
| 344 | -c "[1-9][0-9]* bytes read" \ |
| 345 | -c "[1-9][0-9]* bytes written" \ |
Gilles Peskine | 13b4954 | 2024-10-01 12:48:42 +0200 | [diff] [blame] | 346 | -S "error" \ |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 347 | -C "error" |
| 348 | |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 349 | run_test "Sample: ssl_client2, dtls_server" \ |
| 350 | -P 4433 \ |
| 351 | "$PROGRAMS_DIR/dtls_server" \ |
| 352 | "$PROGRAMS_DIR/ssl_client2 dtls=1" \ |
| 353 | 0 \ |
| 354 | -s "[1-9][0-9]* bytes read" \ |
| 355 | -s "[1-9][0-9]* bytes written" \ |
| 356 | -c "[1-9][0-9]* bytes read" \ |
| 357 | -c "[1-9][0-9]* bytes written" \ |
Gilles Peskine | 13b4954 | 2024-10-01 12:48:42 +0200 | [diff] [blame] | 358 | -S "error" \ |
Gilles Peskine | c3d1a1d | 2024-09-10 00:03:18 +0200 | [diff] [blame] | 359 | -C "error" |
| 360 | |
Gilles Peskine | 6b4d693 | 2024-09-04 16:51:50 +0200 | [diff] [blame] | 361 | requires_protocol_version dtls12 |
| 362 | run_test "Sample: dtls_server, openssl client, DTLS 1.2" \ |
| 363 | -P 4433 \ |
| 364 | "$PROGRAMS_DIR/dtls_server" \ |
| 365 | "$O_CLI -dtls1_2" \ |
| 366 | 0 \ |
| 367 | -s "[1-9][0-9]* bytes read" \ |
| 368 | -s "[1-9][0-9]* bytes written" \ |
Gilles Peskine | 6ef5239 | 2024-09-04 23:33:36 +0200 | [diff] [blame] | 369 | -c "Protocol.*TLSv1.2" \ |
Gilles Peskine | 6b4d693 | 2024-09-04 16:51:50 +0200 | [diff] [blame] | 370 | -S "error" \ |
| 371 | -C "ERROR" |
| 372 | |
| 373 | requires_protocol_version dtls12 |
| 374 | run_test "Sample: dtls_server, gnutls client, DTLS 1.2" \ |
| 375 | -P 4433 \ |
| 376 | "$PROGRAMS_DIR/dtls_server" \ |
| 377 | "$G_CLI -u --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \ |
| 378 | 0 \ |
| 379 | -s "[1-9][0-9]* bytes read" \ |
| 380 | -s "[1-9][0-9]* bytes written" \ |
| 381 | -c "Description:.*DTLS1.2" \ |
| 382 | -S "error" \ |
| 383 | -C "ERROR" |