Use the new timer callback API in programs
diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c
index ea1e79f..3ed0d29 100644
--- a/programs/ssl/ssl_client2.c
+++ b/programs/ssl/ssl_client2.c
@@ -36,9 +36,20 @@
#define mbedtls_snprintf snprintf
#endif
-#if defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_FS_IO) && \
- defined(MBEDTLS_SSL_TLS_C) && defined(MBEDTLS_SSL_CLI_C) && \
- defined(MBEDTLS_NET_C) && defined(MBEDTLS_CTR_DRBG_C)
+#if !defined(MBEDTLS_ENTROPY_C) || \
+ !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_CLI_C) || \
+ !defined(MBEDTLS_NET_C) || !defined(MBEDTLS_CTR_DRBG_C) || \
+ !defined(MBEDTLS_TIMING_C)
+int main( void )
+{
+ mbedtls_printf("MBEDTLS_ENTROPY_C and/or "
+ "MBEDTLS_SSL_TLS_C and/or MBEDTLS_SSL_CLI_C and/or "
+ "MBEDTLS_NET_C and/or MBEDTLS_CTR_DRBG_C and/or "
+ "MBEDTLS_TIMING_C not defined.\n");
+ return( 0 );
+}
+#else
+
#include "mbedtls/net.h"
#include "mbedtls/ssl.h"
#include "mbedtls/entropy.h"
@@ -47,15 +58,11 @@
#include "mbedtls/x509.h"
#include "mbedtls/error.h"
#include "mbedtls/debug.h"
+#include "mbedtls/timing.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#endif
-
-#if defined(MBEDTLS_TIMING_C)
-#include "mbedtls/timing.h"
-#endif
#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
#if !defined snprintf
@@ -159,13 +166,6 @@
#define USAGE_RECSPLIT
#endif
-#if defined(MBEDTLS_TIMING_C)
-#define USAGE_TIME \
- " reco_delay=%%d default: 0 seconds\n"
-#else
-#define USAGE_TIME ""
-#endif /* MBEDTLS_TIMING_C */
-
#if defined(MBEDTLS_SSL_ALPN)
#define USAGE_ALPN \
" alpn=%%s default: \"\" (disabled)\n" \
@@ -239,7 +239,7 @@
USAGE_RENEGO \
" exchanges=%%d default: 1\n" \
" reconnect=%%d default: 0 (disabled)\n" \
- USAGE_TIME \
+ " reco_delay=%%d default: 0 seconds\n" \
USAGE_TICKETS \
USAGE_MAX_FRAG_LEN \
USAGE_TRUNC_HMAC \
@@ -258,17 +258,6 @@
" force_ciphersuite=<name> default: all enabled\n"\
" acceptable ciphersuite names:\n"
-#if !defined(MBEDTLS_ENTROPY_C) || !defined(MBEDTLS_FS_IO) || \
- !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_CLI_C) || \
- !defined(MBEDTLS_NET_C) || !defined(MBEDTLS_CTR_DRBG_C)
-int main( void )
-{
- mbedtls_printf("MBEDTLS_ENTROPY_C and/or "
- "MBEDTLS_SSL_TLS_C and/or MBEDTLS_SSL_CLI_C and/or "
- "MBEDTLS_NET_C and/or MBEDTLS_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
/*
* global options
*/
@@ -403,6 +392,7 @@
mbedtls_ssl_context ssl;
mbedtls_ssl_config conf;
mbedtls_ssl_session saved_session;
+ mbedtls_timing_delay_context timer;
#if defined(MBEDTLS_X509_CRT_PARSE_C)
uint32_t flags;
mbedtls_x509_crt cacert;
@@ -1198,6 +1188,9 @@
#endif
);
+ mbedtls_ssl_set_timer_cb( &ssl, &timer, mbedtls_timing_set_delay,
+ mbedtls_timing_get_delay );
+
mbedtls_printf( " ok\n" );
/*
@@ -1495,10 +1488,8 @@
mbedtls_net_close( server_fd );
-#if defined(MBEDTLS_TIMING_C)
if( opt.reco_delay > 0 )
mbedtls_timing_m_sleep( 1000 * opt.reco_delay );
-#endif
mbedtls_printf( " . Reconnecting with saved session..." );
fflush( stdout );
@@ -1589,4 +1580,4 @@
}
#endif /* MBEDTLS_BIGNUM_C && MBEDTLS_ENTROPY_C && MBEDTLS_SSL_TLS_C &&
MBEDTLS_SSL_CLI_C && MBEDTLS_NET_C && MBEDTLS_RSA_C &&
- MBEDTLS_CTR_DRBG_C */
+ MBEDTLS_CTR_DRBG_C && MBEDTLS_TIMING_C */