diff options
author | Rich Salz <rsalz@akamai.com> | 2016-02-27 13:24:28 -0500 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2016-02-27 13:41:41 -0500 |
commit | ba8108154dafb081b510cc628783c6b44c95cb0e (patch) | |
tree | fd56e4516dd3035b6a3bef7025ce22970a72b9f5 /apps/s_server.c | |
parent | 6ab364149d8b76b5d2341a2e708e727cad060416 (diff) | |
download | openssl-ba8108154dafb081b510cc628783c6b44c95cb0e.tar.gz |
RT2275: use BIO_sock_nbio()
Now that BIO_sock_nbio is available, use it in the apps.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'apps/s_server.c')
-rw-r--r-- | apps/s_server.c | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/apps/s_server.c b/apps/s_server.c index 6645dc8d8e..c28aa51d40 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -185,11 +185,6 @@ typedef unsigned int u_int; #include "s_apps.h" #include "timeouts.h" -#if (defined(OPENSSL_SYS_VMS) && __VMS_VER < 70000000) -/* FIONBIO used as a switch to enable ioctl, and that isn't in VMS < 7.0 */ -# undef FIONBIO -#endif - static int not_resumable_sess_cb(SSL *s, int is_forward_secure); static int sv_body(int s, int stype, unsigned char *context); static int www_body(int s, int stype, unsigned char *context); @@ -226,9 +221,7 @@ static const char *s_cert_file = TEST_CERT, *s_key_file = static const char *s_cert_file2 = TEST_CERT2, *s_key_file2 = NULL; static char *s_dcert_file = NULL, *s_dkey_file = NULL, *s_dchain_file = NULL; -#ifdef FIONBIO static int s_nbio = 0; -#endif static int s_nbio_test = 0; static int s_crlf = 0; static SSL_CTX *ctx = NULL; @@ -948,9 +941,7 @@ OPTIONS s_server_options[] = { OPT_S_OPTIONS, OPT_V_OPTIONS, OPT_X_OPTIONS, -#ifdef FIONBIO {"nbio", OPT_NBIO, '-', "Use non-blocking IO"}, -#endif #ifndef OPENSSL_NO_PSK {"psk_hint", OPT_PSK_HINT, 's', "PSK identity hint to use"}, {"psk", OPT_PSK, 's', "PSK in hex (without 0x)"}, @@ -2072,16 +2063,12 @@ static int sv_body(int s, int stype, unsigned char *context) #endif buf = app_malloc(bufsize, "server buffer"); -#ifdef FIONBIO if (s_nbio) { - unsigned long sl = 1; - - if (!s_quiet) - BIO_printf(bio_err, "turning on non blocking io\n"); - if (BIO_socket_ioctl(s, FIONBIO, &sl) < 0) + if (!BIO_socket_nbio(s, 1)) ERR_print_errors(bio_err); + else if (!s_quiet) + BIO_printf(bio_err, "Turned on non blocking io\n"); } -#endif if (con == NULL) { con = SSL_new(ctx); @@ -2670,16 +2657,12 @@ static int www_body(int s, int stype, unsigned char *context) if ((io == NULL) || (ssl_bio == NULL)) goto err; -#ifdef FIONBIO if (s_nbio) { - unsigned long sl = 1; - - if (!s_quiet) - BIO_printf(bio_err, "turning on non blocking io\n"); - if (BIO_socket_ioctl(s, FIONBIO, &sl) < 0) + if (!BIO_socket_nbio(s, 1)) ERR_print_errors(bio_err); + else if (!s_quiet) + BIO_printf(bio_err, "Turned on non blocking io\n"); } -#endif /* lets make the output buffer a reasonable size */ if (!BIO_set_write_buffer_size(io, bufsize)) |