From 441c3acf805484bbb3e5bdb8549ea299b9b01a8a Mon Sep 17 00:00:00 2001 From: jsing <> Date: Sat, 6 May 2017 22:46:58 +0000 Subject: Split TLS client/server handshake and close code into separate functions so that it can be reused. --- src/regress/lib/libtls/tls/tlstest.c | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/src/regress/lib/libtls/tls/tlstest.c b/src/regress/lib/libtls/tls/tlstest.c index 76f2c498d2..948425a675 100644 --- a/src/regress/lib/libtls/tls/tlstest.c +++ b/src/regress/lib/libtls/tls/tlstest.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tlstest.c,v 1.4 2017/05/06 21:56:43 jsing Exp $ */ +/* $OpenBSD: tlstest.c,v 1.5 2017/05/06 22:46:58 jsing Exp $ */ /* * Copyright (c) 2017 Joel Sing * @@ -151,7 +151,8 @@ do_tls_close(char *name, struct tls *ctx) } static int -do_client_server_test(char *desc, struct tls *client, struct tls *server_cctx) +do_client_server_handshake(char *desc, struct tls *client, + struct tls *server_cctx) { int i, client_done, server_done; @@ -167,9 +168,14 @@ do_client_server_test(char *desc, struct tls *client, struct tls *server_cctx) printf("FAIL: %s TLS handshake did not complete\n", desc); return (1); } - printf("INFO: %s TLS handshake completed successfully\n", desc); - /* XXX - Do some reads and writes... */ + return (0); +} + +static int +do_client_server_close(char *desc, struct tls *client, struct tls *server_cctx) +{ + int i, client_done, server_done; i = client_done = server_done = 0; do { @@ -183,6 +189,23 @@ do_client_server_test(char *desc, struct tls *client, struct tls *server_cctx) printf("FAIL: %s TLS close did not complete\n", desc); return (1); } + + return (0); +} + +static int +do_client_server_test(char *desc, struct tls *client, struct tls *server_cctx) +{ + if (do_client_server_handshake(desc, client, server_cctx) != 0) + return (1); + + printf("INFO: %s TLS handshake completed successfully\n", desc); + + /* XXX - Do some reads and writes... */ + + if (do_client_server_close(desc, client, server_cctx) != 0) + return (1); + printf("INFO: %s TLS close completed successfully\n", desc); return (0); -- cgit v1.2.3-55-g6feb