DTLS depends on TIMING_C for now

This commit is contained in:
Manuel Pégourié-Gonnard 2014-10-14 20:03:35 +02:00 committed by Paul Bakker
parent e698f59a25
commit 8e704f0f74
4 changed files with 15 additions and 17 deletions

View file

@ -223,8 +223,9 @@
#endif
#if defined(POLARSSL_SSL_PROTO_DTLS) && ( \
!defined(POLARSSL_SSL_PROTO_TLS1_1) && \
!defined(POLARSSL_SSL_PROTO_TLS1_2) )
( !defined(POLARSSL_SSL_PROTO_TLS1_1) && \
!defined(POLARSSL_SSL_PROTO_TLS1_2) ) || \
!defined(POLARSSL_TIMING_C) )
#error "POLARSSL_SSL_PROTO_DTLS defined, but not all prerequisites"
#endif

View file

@ -908,6 +908,11 @@
*
* Requires: POLARSSL_SSL_PROTO_TLS1_1
* or POLARSSL_SSL_PROTO_TLS1_2
* POLARSSL_TIMING_C
*
* \note Dependency on TIMING_C may be replaced by something more flexible
* (callbacks or abstraction layer in the next major version). Please contact
* us if you're having issues with this dependency.
*
* Comment this macro to disable support for DTLS
*/

View file

@ -76,7 +76,7 @@
#include "zlib.h"
#endif
#if defined(POLARSSL_TIMING_C)
#if defined(POLARSSL_SSL_PROTO_DTLS)
#include "timing.h"
#endif
@ -830,14 +830,11 @@ struct _ssl_context
ssl_transform *transform_negotiate; /*!< transform params in negotiation */
/*
* Timers (WIP)
* Timers
*/
#if defined(POLARSSL_TIMING_C)
struct hr_time time_info;
unsigned long time_limit;
#endif
#if defined(POLARSSL_SSL_PROTO_DTLS)
struct hr_time time_info; /*!< timer context */
unsigned long time_limit; /*!< limit for the running timer */
uint32_t hs_timeout_min; /*!< initial value of the handshake
retransmission timeout */
uint32_t hs_timeout_max; /*!< maximum value of the handshake

View file

@ -79,10 +79,7 @@ static inline size_t ssl_ep_len( const ssl_context *ssl )
}
/*
* Timers (WIP)
*/
#if defined(POLARSSL_TIMING_C)
#if defined(POLARSSL_SSL_PROTO_DTLS)
/*
* Start a timer.
* Passing millisecs = 0 cancels a running timer.
@ -107,9 +104,7 @@ static int ssl_check_timer( ssl_context *ssl )
return( 0 );
}
#endif
#if defined(POLARSSL_SSL_PROTO_DTLS)
/*
* Double the retransmit timeout value, within the allowed range,
* returning -1 if the maximum value has already been reached.
@ -5755,7 +5750,7 @@ int ssl_read( ssl_context *ssl, unsigned char *buf, size_t len )
if( ssl->in_offt == NULL )
{
#if defined(POLARSSL_TIMING_C)
#if defined(POLARSSL_SSL_PROTO_DTLS)
/* Start timer if not already running */
if( ssl->time_limit == 0 )
ssl_set_timer( ssl, ssl->read_timeout );
@ -5912,7 +5907,7 @@ int ssl_read( ssl_context *ssl, unsigned char *buf, size_t len )
ssl->in_offt = ssl->in_msg;
#if defined(POLARSSL_TIMING_C)
#if defined(POLARSSL_SSL_PROTO_DTLS)
/* We're going to return something now, cancel timer,
* except if handshake (renegotiation) is in progress */
if( ssl->state == SSL_HANDSHAKE_OVER )