summaryrefslogtreecommitdiff
path: root/src/usr.bin/openssl/s_server.c
diff options
context:
space:
mode:
authortb <>2021-08-29 12:33:15 +0000
committertb <>2021-08-29 12:33:15 +0000
commit3958737f5fc329b07f544deb10827ed41270c9e0 (patch)
tree1efbd8b53fbcab129721e03799552eb949d13bb2 /src/usr.bin/openssl/s_server.c
parent8f799e7126310d2baff5f3f8aa6f0832a10de650 (diff)
downloadopenbsd-3958737f5fc329b07f544deb10827ed41270c9e0.tar.gz
openbsd-3958737f5fc329b07f544deb10827ed41270c9e0.tar.bz2
openbsd-3958737f5fc329b07f544deb10827ed41270c9e0.zip
Implement -naccept in the s_server.
doc fixes/ok jmc ok beck
Diffstat (limited to 'src/usr.bin/openssl/s_server.c')
-rw-r--r--src/usr.bin/openssl/s_server.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/usr.bin/openssl/s_server.c b/src/usr.bin/openssl/s_server.c
index 1bd544324a..abe2ee42ae 100644
--- a/src/usr.bin/openssl/s_server.c
+++ b/src/usr.bin/openssl/s_server.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s_server.c,v 1.47 2021/03/17 18:11:01 jsing Exp $ */ 1/* $OpenBSD: s_server.c,v 1.48 2021/08/29 12:33:15 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -267,6 +267,7 @@ static struct {
267 uint16_t min_version; 267 uint16_t min_version;
268 const SSL_METHOD *meth; 268 const SSL_METHOD *meth;
269 int msg; 269 int msg;
270 int naccept;
270 char *named_curve; 271 char *named_curve;
271 int nbio; 272 int nbio;
272 int nbio_test; 273 int nbio_test;
@@ -741,6 +742,13 @@ static const struct option s_server_options[] = {
741 }, 742 },
742#endif 743#endif
743 { 744 {
745 .name = "naccept",
746 .argname = "num",
747 .desc = "terminate after num connections",
748 .type = OPTION_ARG_INT,
749 .opt.value = &s_server_config.naccept
750 },
751 {
744 .name = "named_curve", 752 .name = "named_curve",
745 .argname = "arg", 753 .argname = "arg",
746 .type = OPTION_ARG, 754 .type = OPTION_ARG,
@@ -1045,7 +1053,7 @@ sv_usage(void)
1045 " [-dpass arg] [-dtls] [-dtls1] [-dtls1_2] [-groups list] [-HTTP]\n" 1053 " [-dpass arg] [-dtls] [-dtls1] [-dtls1_2] [-groups list] [-HTTP]\n"
1046 " [-id_prefix arg] [-key keyfile] [-key2 keyfile]\n" 1054 " [-id_prefix arg] [-key keyfile] [-key2 keyfile]\n"
1047 " [-keyform der | pem] [-keymatexport label]\n" 1055 " [-keyform der | pem] [-keymatexport label]\n"
1048 " [-keymatexportlen len] [-msg] [-mtu mtu]\n" 1056 " [-keymatexportlen len] [-msg] [-mtu mtu] [-naccept num]\n"
1049 " [-named_curve arg] [-nbio] [-nbio_test] [-no_cache]\n" 1057 " [-named_curve arg] [-nbio] [-nbio_test] [-no_cache]\n"
1050 " [-no_dhe] [-no_ecdhe] [-no_ticket] [-no_tls1]\n" 1058 " [-no_dhe] [-no_ecdhe] [-no_ticket] [-no_tls1]\n"
1051 " [-no_tls1_1] [-no_tls1_2] [-no_tls1_3] [-no_tmp_rsa]\n" 1059 " [-no_tls1_1] [-no_tls1_2] [-no_tls1_3] [-no_tmp_rsa]\n"
@@ -1084,6 +1092,7 @@ s_server_main(int argc, char *argv[])
1084 memset(&s_server_config, 0, sizeof(s_server_config)); 1092 memset(&s_server_config, 0, sizeof(s_server_config));
1085 s_server_config.keymatexportlen = 20; 1093 s_server_config.keymatexportlen = 20;
1086 s_server_config.meth = TLS_server_method(); 1094 s_server_config.meth = TLS_server_method();
1095 s_server_config.naccept = -1;
1087 s_server_config.port = PORT; 1096 s_server_config.port = PORT;
1088 s_server_config.cert_file = TEST_CERT; 1097 s_server_config.cert_file = TEST_CERT;
1089 s_server_config.cert_file2 = TEST_CERT2; 1098 s_server_config.cert_file2 = TEST_CERT2;
@@ -1465,10 +1474,12 @@ s_server_main(int argc, char *argv[])
1465 (void) BIO_flush(bio_s_out); 1474 (void) BIO_flush(bio_s_out);
1466 if (s_server_config.www) 1475 if (s_server_config.www)
1467 do_server(s_server_config.port, s_server_config.socket_type, 1476 do_server(s_server_config.port, s_server_config.socket_type,
1468 &accept_socket, www_body, s_server_config.context); 1477 &accept_socket, www_body, s_server_config.context,
1478 s_server_config.naccept);
1469 else 1479 else
1470 do_server(s_server_config.port, s_server_config.socket_type, 1480 do_server(s_server_config.port, s_server_config.socket_type,
1471 &accept_socket, sv_body, s_server_config.context); 1481 &accept_socket, sv_body, s_server_config.context,
1482 s_server_config.naccept);
1472 print_stats(bio_s_out, ctx); 1483 print_stats(bio_s_out, ctx);
1473 ret = 0; 1484 ret = 0;
1474 end: 1485 end: