Loading apps/s_apps.h +1 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,7 @@ typedef fd_mask fd_set; #define PORT_STR "4433" #define PROTOCOL "tcp" int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context); int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context, int naccept); #ifdef HEADER_X509_H int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx); #endif Loading apps/s_server.c +15 −4 Original line number Diff line number Diff line Loading @@ -973,7 +973,7 @@ int MAIN(int argc, char *argv[]) STACK_OF(X509) *s_chain = NULL, *s_dchain = NULL; EVP_PKEY *s_key = NULL, *s_dkey = NULL; int no_cache = 0, ext_cache = 0; int rev = 0; int rev = 0, naccept = -1; #ifndef OPENSSL_NO_TLSEXT EVP_PKEY *s_key2 = NULL; X509 *s_cert2 = NULL; Loading Loading @@ -1040,6 +1040,17 @@ int MAIN(int argc, char *argv[]) if (!extract_port(*(++argv),&port)) goto bad; } else if (strcmp(*argv,"-naccept") == 0) { if (--argc < 1) goto bad; naccept = atol(*(++argv)); if (naccept <= 0) { BIO_printf(bio_err, "bad accept value %s\n", *argv); goto bad; } } else if (strcmp(*argv,"-verify") == 0) { s_server_verify=SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE; Loading Loading @@ -1967,11 +1978,11 @@ bad: BIO_printf(bio_s_out,"ACCEPT\n"); (void)BIO_flush(bio_s_out); if (rev) do_server(port,socket_type,&accept_socket,rev_body, context); do_server(port,socket_type,&accept_socket,rev_body, context, naccept); else if (www) do_server(port,socket_type,&accept_socket,www_body, context); do_server(port,socket_type,&accept_socket,www_body, context, naccept); else do_server(port,socket_type,&accept_socket,sv_body, context); do_server(port,socket_type,&accept_socket,sv_body, context, naccept); print_stats(bio_s_out,ctx); ret=0; end: Loading apps/s_socket.c +4 −2 Original line number Diff line number Diff line Loading @@ -284,7 +284,7 @@ static int init_client_ip(int *sock, unsigned char ip[4], int port, int type) return(1); } int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context) int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context, int naccept) { int sock; char *name = NULL; Loading Loading @@ -314,7 +314,9 @@ int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, uns if (name != NULL) OPENSSL_free(name); if (type==SOCK_STREAM) SHUTDOWN2(sock); if (i < 0) if (naccept != -1) naccept--; if (i < 0 || naccept == 0) { SHUTDOWN2(accept_socket); return(i); Loading Loading
apps/s_apps.h +1 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,7 @@ typedef fd_mask fd_set; #define PORT_STR "4433" #define PROTOCOL "tcp" int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context); int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context, int naccept); #ifdef HEADER_X509_H int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx); #endif Loading
apps/s_server.c +15 −4 Original line number Diff line number Diff line Loading @@ -973,7 +973,7 @@ int MAIN(int argc, char *argv[]) STACK_OF(X509) *s_chain = NULL, *s_dchain = NULL; EVP_PKEY *s_key = NULL, *s_dkey = NULL; int no_cache = 0, ext_cache = 0; int rev = 0; int rev = 0, naccept = -1; #ifndef OPENSSL_NO_TLSEXT EVP_PKEY *s_key2 = NULL; X509 *s_cert2 = NULL; Loading Loading @@ -1040,6 +1040,17 @@ int MAIN(int argc, char *argv[]) if (!extract_port(*(++argv),&port)) goto bad; } else if (strcmp(*argv,"-naccept") == 0) { if (--argc < 1) goto bad; naccept = atol(*(++argv)); if (naccept <= 0) { BIO_printf(bio_err, "bad accept value %s\n", *argv); goto bad; } } else if (strcmp(*argv,"-verify") == 0) { s_server_verify=SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE; Loading Loading @@ -1967,11 +1978,11 @@ bad: BIO_printf(bio_s_out,"ACCEPT\n"); (void)BIO_flush(bio_s_out); if (rev) do_server(port,socket_type,&accept_socket,rev_body, context); do_server(port,socket_type,&accept_socket,rev_body, context, naccept); else if (www) do_server(port,socket_type,&accept_socket,www_body, context); do_server(port,socket_type,&accept_socket,www_body, context, naccept); else do_server(port,socket_type,&accept_socket,sv_body, context); do_server(port,socket_type,&accept_socket,sv_body, context, naccept); print_stats(bio_s_out,ctx); ret=0; end: Loading
apps/s_socket.c +4 −2 Original line number Diff line number Diff line Loading @@ -284,7 +284,7 @@ static int init_client_ip(int *sock, unsigned char ip[4], int port, int type) return(1); } int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context) int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context, int naccept) { int sock; char *name = NULL; Loading Loading @@ -314,7 +314,9 @@ int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, uns if (name != NULL) OPENSSL_free(name); if (type==SOCK_STREAM) SHUTDOWN2(sock); if (i < 0) if (naccept != -1) naccept--; if (i < 0 || naccept == 0) { SHUTDOWN2(accept_socket); return(i); Loading