summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2017-05-06 21:56:43 +0000
committerjsing <>2017-05-06 21:56:43 +0000
commit0e5e712591c7f580f436de535348a0d768707768 (patch)
tree3307d048ba1ee0d418e8e8ee234138f980281d44
parent24e211a36ad9b6e5a0bb3f0485af8b8fdef498dc (diff)
downloadopenbsd-0e5e712591c7f580f436de535348a0d768707768.tar.gz
openbsd-0e5e712591c7f580f436de535348a0d768707768.tar.bz2
openbsd-0e5e712591c7f580f436de535348a0d768707768.zip
Move TLS test code into a function that is called from main, making it
easier for new tests to be added.
-rw-r--r--src/regress/lib/libtls/tls/Makefile6
-rw-r--r--src/regress/lib/libtls/tls/tlstest.c44
2 files changed, 33 insertions, 17 deletions
diff --git a/src/regress/lib/libtls/tls/Makefile b/src/regress/lib/libtls/tls/Makefile
index 61285faab1..0fbd78481b 100644
--- a/src/regress/lib/libtls/tls/Makefile
+++ b/src/regress/lib/libtls/tls/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.1 2017/01/12 15:50:16 jsing Exp $ 1# $OpenBSD: Makefile,v 1.2 2017/05/06 21:56:43 jsing Exp $
2 2
3PROG= tlstest 3PROG= tlstest
4LDADD= -lcrypto -lssl -ltls 4LDADD= -lcrypto -lssl -ltls
@@ -12,8 +12,8 @@ REGRESS_TARGETS= \
12 12
13regress-tlstest: ${PROG} 13regress-tlstest: ${PROG}
14 ./tlstest \ 14 ./tlstest \
15 ${.CURDIR}/../../libssl/certs/ca.pem \
15 ${.CURDIR}/../../libssl/certs/server.pem \ 16 ${.CURDIR}/../../libssl/certs/server.pem \
16 ${.CURDIR}/../../libssl/certs/server.pem \ 17 ${.CURDIR}/../../libssl/certs/server.pem
17 ${.CURDIR}/../../libssl/certs/ca.pem
18 18
19.include <bsd.regress.mk> 19.include <bsd.regress.mk>
diff --git a/src/regress/lib/libtls/tls/tlstest.c b/src/regress/lib/libtls/tls/tlstest.c
index b1ddbc85ac..76f2c498d2 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.3 2017/05/06 21:50:40 jsing Exp $ */ 1/* $OpenBSD: tlstest.c,v 1.4 2017/05/06 21:56:43 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2017 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2017 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -33,6 +33,8 @@ unsigned char *client_readptr, *client_writeptr;
33unsigned char server_buffer[CIRCULAR_BUFFER_SIZE]; 33unsigned char server_buffer[CIRCULAR_BUFFER_SIZE];
34unsigned char *server_readptr, *server_writeptr; 34unsigned char *server_readptr, *server_writeptr;
35 35
36char *cafile, *certfile, *keyfile;
37
36int debug = 0; 38int debug = 0;
37 39
38static void 40static void
@@ -266,35 +268,26 @@ test_tls_socket(struct tls *client, struct tls *server)
266 return (failure); 268 return (failure);
267} 269}
268 270
269int 271static int
270main(int argc, char **argv) 272do_tls_tests(void)
271{ 273{
272 struct tls_config *client_cfg, *server_cfg; 274 struct tls_config *client_cfg, *server_cfg;
273 struct tls *client, *server; 275 struct tls *client, *server;
274 int failure = 0; 276 int failure = 0;
275 277
276 if (argc != 4) {
277 fprintf(stderr, "usage: %s keyfile certfile cafile\n",
278 argv[0]);
279 return (1);
280 }
281
282 if (tls_init() == -1)
283 errx(1, "failed to initialise tls");
284
285 if ((client = tls_client()) == NULL) 278 if ((client = tls_client()) == NULL)
286 errx(1, "failed to create tls client"); 279 errx(1, "failed to create tls client");
287 if ((client_cfg = tls_config_new()) == NULL) 280 if ((client_cfg = tls_config_new()) == NULL)
288 errx(1, "failed to create tls client config"); 281 errx(1, "failed to create tls client config");
289 tls_config_insecure_noverifyname(client_cfg); 282 tls_config_insecure_noverifyname(client_cfg);
290 if (tls_config_set_ca_file(client_cfg, argv[3]) == -1) 283 if (tls_config_set_ca_file(client_cfg, cafile) == -1)
291 errx(1, "failed to set ca: %s", tls_config_error(client_cfg)); 284 errx(1, "failed to set ca: %s", tls_config_error(client_cfg));
292 285
293 if ((server = tls_server()) == NULL) 286 if ((server = tls_server()) == NULL)
294 errx(1, "failed to create tls server"); 287 errx(1, "failed to create tls server");
295 if ((server_cfg = tls_config_new()) == NULL) 288 if ((server_cfg = tls_config_new()) == NULL)
296 errx(1, "failed to create tls server config"); 289 errx(1, "failed to create tls server config");
297 if (tls_config_set_keypair_file(server_cfg, argv[1], argv[2]) == -1) 290 if (tls_config_set_keypair_file(server_cfg, certfile, keyfile) == -1)
298 errx(1, "failed to set keypair: %s", 291 errx(1, "failed to set keypair: %s",
299 tls_config_error(server_cfg)); 292 tls_config_error(server_cfg));
300 293
@@ -333,3 +326,26 @@ main(int argc, char **argv)
333 326
334 return (failure); 327 return (failure);
335} 328}
329
330int
331main(int argc, char **argv)
332{
333 int failure = 0;
334
335 if (argc != 4) {
336 fprintf(stderr, "usage: %s cafile certfile keyfile\n",
337 argv[0]);
338 return (1);
339 }
340
341 cafile = argv[1];
342 certfile = argv[2];
343 keyfile = argv[3];
344
345 if (tls_init() == -1)
346 errx(1, "failed to initialise tls");
347
348 failure |= do_tls_tests();
349
350 return (failure);
351}