Clean up idle() function in ssl_client2 and ssl_server2
diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c
index ed39664..289920c 100644
--- a/programs/ssl/ssl_client2.c
+++ b/programs/ssl/ssl_client2.c
@@ -444,20 +444,14 @@
* (Used in event-driven IO mode).
*/
#if !defined(MBEDTLS_TIMING_C)
-void idle( mbedtls_ssl_context *ssl,
- mbedtls_net_context *fd,
+void idle( mbedtls_net_context *fd,
int idle_reason )
{
#else
-void idle( mbedtls_ssl_context *ssl,
- mbedtls_net_context *fd,
+void idle( mbedtls_net_context *fd,
mbedtls_timing_delay_context *timer,
int idle_reason )
{
-#if defined(MBEDTLS_DEBUG_C)
- struct mbedtls_timing_hr_time tm;
- unsigned long time_elapsed;
-#endif
#endif
int poll_type = 0;
@@ -468,43 +462,24 @@
poll_type = MBEDTLS_NET_POLL_READ;
#if !defined(MBEDTLS_TIMING_C)
else
- {
- MBEDTLS_SSL_DEBUG_MSG( 1, ( "WARNING: No reason for idling given" ) );
return;
- }
-#endif
-
- /* One should not idle on the underlying transport
- * if data is still pending to be processed. */
- if( mbedtls_ssl_check_pending( ssl ) != 0 )
- {
- MBEDTLS_SSL_DEBUG_MSG( 1, ( "WARNING: Data still pending, but idling requested!" ) );
- }
- MBEDTLS_SSL_DEBUG_MSG( 3, ( "idle, waiting for event... " ) );
-
-#if defined(MBEDTLS_TIMING_C) && defined(MBEDTLS_DEBUG_C)
- mbedtls_timing_get_timer( &tm, 1 /* restart */ );
#endif
while( 1 )
{
+ /* Check if timer has expired */
#if defined(MBEDTLS_TIMING_C)
-#if defined(MBEDTLS_DEBUG_C)
- time_elapsed = mbedtls_timing_get_timer( &tm, 0 );
-#endif
- if( mbedtls_timing_get_delay( timer ) == 2 )
+ if( timer != NULL &&
+ mbedtls_timing_get_delay( timer ) == 2 )
{
- MBEDTLS_SSL_DEBUG_MSG( 3, ( "[%lu ms] timer expired - continue",
- time_elapsed ) );
break;
}
-#endif
+#endif /* MBEDTLS_TIMING_C */
+ /* Check if underlying transport became available */
if( poll_type != 0 &&
mbedtls_net_poll( fd, poll_type, 0 ) == poll_type )
{
- MBEDTLS_SSL_DEBUG_MSG( 3, ( "[%lu ms] net_context signals data - continue",
- time_elapsed ) );
break;
}
}
@@ -1532,9 +1507,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &server_fd, &timer, ret );
+ idle( &server_fd, &timer, ret );
#else
- idle( &ssl, &server_fd, ret );
+ idle( &server_fd, ret );
#endif
}
}
@@ -1629,9 +1604,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &server_fd, &timer, ret );
+ idle( &server_fd, &timer, ret );
#else
- idle( &ssl, &server_fd, ret );
+ idle( &server_fd, ret );
#endif
}
@@ -1693,9 +1668,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &server_fd, &timer, ret );
+ idle( &server_fd, &timer, ret );
#else
- idle( &ssl, &server_fd, ret );
+ idle( &server_fd, ret );
#endif
}
}
@@ -1715,9 +1690,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &server_fd, &timer, ret );
+ idle( &server_fd, &timer, ret );
#else
- idle( &ssl, &server_fd, ret );
+ idle( &server_fd, ret );
#endif
}
}
@@ -1761,9 +1736,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &server_fd, &timer, ret );
+ idle( &server_fd, &timer, ret );
#else
- idle( &ssl, &server_fd, ret );
+ idle( &server_fd, ret );
#endif
}
continue;
@@ -1822,9 +1797,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &server_fd, &timer, ret );
+ idle( &server_fd, &timer, ret );
#else
- idle( &ssl, &server_fd, ret );
+ idle( &server_fd, ret );
#endif
}
}
@@ -1887,9 +1862,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &server_fd, &timer, ret );
+ idle( &server_fd, &timer, ret );
#else
- idle( &ssl, &server_fd, ret );
+ idle( &server_fd, ret );
#endif
}
}
diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c
index d70046c..c3321d1 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -846,20 +846,14 @@
* (Used in event-driven IO mode).
*/
#if !defined(MBEDTLS_TIMING_C)
-void idle( mbedtls_ssl_context *ssl,
- mbedtls_net_context *fd,
+void idle( mbedtls_net_context *fd,
int idle_reason )
{
#else
-void idle( mbedtls_ssl_context *ssl,
- mbedtls_net_context *fd,
+void idle( mbedtls_net_context *fd,
mbedtls_timing_delay_context *timer,
int idle_reason )
{
-#if defined(MBEDTLS_DEBUG_C)
- struct mbedtls_timing_hr_time tm;
- unsigned long time_elapsed;
-#endif
#endif
int poll_type = 0;
@@ -870,44 +864,24 @@
poll_type = MBEDTLS_NET_POLL_READ;
#if !defined(MBEDTLS_TIMING_C)
else
- {
- MBEDTLS_SSL_DEBUG_MSG( 1, ( "WARNING: No reason for idling given" ) );
return;
- }
-#endif
-
- /* One should not idle on the underlying transport
- * if data is still pending to be processed. */
- if( mbedtls_ssl_check_pending( ssl ) != 0 )
- {
- MBEDTLS_SSL_DEBUG_MSG( 1, ( "WARNING: Data still pending, "
- "but idling requested!" ) );
- }
- MBEDTLS_SSL_DEBUG_MSG( 3, ( "idle, waiting for event... " ) );
-
-#if defined(MBEDTLS_TIMING_C) && defined(MBEDTLS_DEBUG_C)
- mbedtls_timing_get_timer( &tm, 1 /* restart */ );
#endif
while( 1 )
{
+ /* Check if timer has expired */
#if defined(MBEDTLS_TIMING_C)
-#if defined(MBEDTLS_DEBUG_C)
- time_elapsed = mbedtls_timing_get_timer( &tm, 0 );
-#endif
- if( mbedtls_timing_get_delay( timer ) == 2 )
+ if( timer != NULL &&
+ mbedtls_timing_get_delay( timer ) == 2 )
{
- MBEDTLS_SSL_DEBUG_MSG( 3, ( "[%lu ms] timer expired - continue",
- time_elapsed ) );
break;
}
-#endif
+#endif /* MBEDTLS_TIMING_C */
+ /* Check if underlying transport became available */
if( poll_type != 0 &&
mbedtls_net_poll( fd, poll_type, 0 ) == poll_type )
{
- MBEDTLS_SSL_DEBUG_MSG( 3, ( "[%lu ms] net_context signals data - "
- "continue", time_elapsed ) );
break;
}
}
@@ -2231,9 +2205,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &client_fd, &timer, ret );
+ idle( &client_fd, &timer, ret );
#else
- idle( &ssl, &client_fd, ret );
+ idle( &client_fd, ret );
#endif
}
}
@@ -2346,9 +2320,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &client_fd, &timer, ret );
+ idle( &client_fd, &timer, ret );
#else
- idle( &ssl, &client_fd, ret );
+ idle( &client_fd, ret );
#endif
}
@@ -2453,9 +2427,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &client_fd, &timer, ret );
+ idle( &client_fd, &timer, ret );
#else
- idle( &ssl, &client_fd, ret );
+ idle( &client_fd, ret );
#endif
}
}
@@ -2504,9 +2478,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &client_fd, &timer, ret );
+ idle( &client_fd, &timer, ret );
#else
- idle( &ssl, &client_fd, ret );
+ idle( &client_fd, ret );
#endif
}
}
@@ -2548,9 +2522,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &client_fd, &timer, ret );
+ idle( &client_fd, &timer, ret );
#else
- idle( &ssl, &client_fd, ret );
+ idle( &client_fd, ret );
#endif
}
}
@@ -2570,9 +2544,9 @@
if( opt.event == 1 /* level triggered IO */ )
{
#if defined(MBEDTLS_TIMING_C)
- idle( &ssl, &client_fd, &timer, ret );
+ idle( &client_fd, &timer, ret );
#else
- idle( &ssl, &client_fd, ret );
+ idle( &client_fd, ret );
#endif
}
}