summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2017-05-07 01:56:24 +0000
committerjsing <>2017-05-07 01:56:24 +0000
commit63a6dc4ec471572e2d0c71bc373335a11d7fbe7d (patch)
treed55f2b85d294e65ddf3b567877fbd4fc1f937f8f
parent441c3acf805484bbb3e5bdb8549ea299b9b01a8a (diff)
downloadopenbsd-63a6dc4ec471572e2d0c71bc373335a11d7fbe7d.tar.gz
openbsd-63a6dc4ec471572e2d0c71bc373335a11d7fbe7d.tar.bz2
openbsd-63a6dc4ec471572e2d0c71bc373335a11d7fbe7d.zip
An an initial sequencing/ordering test for libtls.
-rw-r--r--src/regress/lib/libtls/tls/tlstest.c62
1 files changed, 61 insertions, 1 deletions
diff --git a/src/regress/lib/libtls/tls/tlstest.c b/src/regress/lib/libtls/tls/tlstest.c
index 948425a675..1f75232dd9 100644
--- a/src/regress/lib/libtls/tls/tlstest.c
+++ b/src/regress/lib/libtls/tls/tlstest.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tlstest.c,v 1.5 2017/05/06 22:46:58 jsing Exp $ */ 1/* $OpenBSD: tlstest.c,v 1.6 2017/05/07 01:56:24 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2017 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2017 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -350,6 +350,65 @@ do_tls_tests(void)
350 return (failure); 350 return (failure);
351} 351}
352 352
353static int
354do_tls_ordering_tests(void)
355{
356 struct tls *client = NULL, *server = NULL, *server_cctx = NULL;
357 struct tls_config *client_cfg, *server_cfg;
358 int failure = 0;
359
360 circular_init();
361
362 if ((client = tls_client()) == NULL)
363 errx(1, "failed to create tls client");
364 if ((client_cfg = tls_config_new()) == NULL)
365 errx(1, "failed to create tls client config");
366 tls_config_insecure_noverifyname(client_cfg);
367 if (tls_config_set_ca_file(client_cfg, cafile) == -1)
368 errx(1, "failed to set ca: %s", tls_config_error(client_cfg));
369
370 if ((server = tls_server()) == NULL)
371 errx(1, "failed to create tls server");
372 if ((server_cfg = tls_config_new()) == NULL)
373 errx(1, "failed to create tls server config");
374 if (tls_config_set_keypair_file(server_cfg, certfile, keyfile) == -1)
375 errx(1, "failed to set keypair: %s",
376 tls_config_error(server_cfg));
377
378 if (tls_configure(client, client_cfg) == -1)
379 errx(1, "failed to configure client: %s", tls_error(client));
380 if (tls_configure(server, server_cfg) == -1)
381 errx(1, "failed to configure server: %s", tls_error(server));
382
383 tls_config_free(client_cfg);
384 tls_config_free(server_cfg);
385
386 if (tls_accept_cbs(server, &server_cctx, server_read, server_write,
387 NULL) == -1)
388 errx(1, "failed to accept: %s", tls_error(server));
389
390 if (tls_connect_cbs(client, client_read, client_write, NULL,
391 "test") == -1)
392 errx(1, "failed to connect: %s", tls_error(client));
393
394 if (do_client_server_handshake("ordering", client, server_cctx) != 0) {
395 failure = 1;
396 goto done;
397 }
398
399 if (do_client_server_close("ordering", client, server_cctx) != 0) {
400 failure = 1;
401 goto done;
402 }
403
404 done:
405 tls_free(client);
406 tls_free(server);
407 tls_free(server_cctx);
408
409 return (failure);
410}
411
353int 412int
354main(int argc, char **argv) 413main(int argc, char **argv)
355{ 414{
@@ -369,6 +428,7 @@ main(int argc, char **argv)
369 errx(1, "failed to initialise tls"); 428 errx(1, "failed to initialise tls");
370 429
371 failure |= do_tls_tests(); 430 failure |= do_tls_tests();
431 failure |= do_tls_ordering_tests();
372 432
373 return (failure); 433 return (failure);
374} 434}