diff options
Diffstat (limited to 'src/usr.bin/openssl/s_server.c')
-rw-r--r-- | src/usr.bin/openssl/s_server.c | 19 |
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: |