From 13c8e68477c58d07647ab5c753c221ab659fd54d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= <manuel.pegourie-gonnard@arm.com> Date: Mon, 15 Jul 2019 12:23:22 +0200 Subject: [PATCH] Change requirements for setting timer callback The code wants timer callbacks to be set (checked in fetch_input()), and can't easily check whether we're using nbio, so it seems easier to require the callbacks to be always set rather than only with nbio as was previously done. --- include/mbedtls/ssl.h | 15 ++++++--------- programs/ssl/ssl_client2.c | 1 - programs/ssl/ssl_server2.c | 1 - 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/include/mbedtls/ssl.h b/include/mbedtls/ssl.h index bf7a320c1..c1c4298c8 100644 --- a/include/mbedtls/ssl.h +++ b/include/mbedtls/ssl.h @@ -3963,15 +3963,12 @@ int mbedtls_ssl_context_save( mbedtls_ssl_context *ssl, * (unless they were already set before calling * mbedtls_ssl_session_reset() and the values are suitable for * the present connection). Specifically, you want to call - * at least mbedtls_ssl_set_bio(). If you're using a read - * timeout (that is, you called - * mbedtls_ssl_conf_read_timeout() with a non-zero timeout) - * and non-blocking I/O, you also need to set timer callbacks - * by calling mbedtls_ssl_set_timer_cb(). All other SSL setter - * functions are not necessary to call, either because they're - * only used in handshakes, or because the setting is already - * saved. You might choose to call them anyway, for example in - * order to share code between the cases of establishing a new + * at least mbedtls_ssl_set_bio() and + * mbedtls_ssl_set_timer_cb(). All other SSL setter functions + * are not necessary to call, either because they're only used + * in handshakes, or because the setting is already saved. You + * might choose to call them anyway, for example in order to + * share code between the cases of establishing a new * connection and the case of loading an already-established * connection. * diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c index 4efd73f2c..b93d645e5 100644 --- a/programs/ssl/ssl_client2.c +++ b/programs/ssl/ssl_client2.c @@ -2996,7 +2996,6 @@ send_request: opt.nbio == 0 ? mbedtls_net_recv_timeout : NULL ); #if defined(MBEDTLS_TIMING_C) - if( opt.nbio != 0 && opt.read_timeout != 0 ) mbedtls_ssl_set_timer_cb( &ssl, &timer, mbedtls_timing_set_delay, mbedtls_timing_get_delay ); diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c index dbdb29959..7ac3a82ea 100644 --- a/programs/ssl/ssl_server2.c +++ b/programs/ssl/ssl_server2.c @@ -4028,7 +4028,6 @@ data_exchange: opt.nbio == 0 ? mbedtls_net_recv_timeout : NULL ); #if defined(MBEDTLS_TIMING_C) - if( opt.nbio != 0 && opt.read_timeout != 0 ) mbedtls_ssl_set_timer_cb( &ssl, &timer, mbedtls_timing_set_delay, mbedtls_timing_get_delay );