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 #endif
#if defined(POLARSSL_SSL_PROTO_DTLS) && ( \ #if defined(POLARSSL_SSL_PROTO_DTLS) && ( \
!defined(POLARSSL_SSL_PROTO_TLS1_1) && \ ( !defined(POLARSSL_SSL_PROTO_TLS1_1) && \
!defined(POLARSSL_SSL_PROTO_TLS1_2) ) !defined(POLARSSL_SSL_PROTO_TLS1_2) ) || \
!defined(POLARSSL_TIMING_C) )
#error "POLARSSL_SSL_PROTO_DTLS defined, but not all prerequisites" #error "POLARSSL_SSL_PROTO_DTLS defined, but not all prerequisites"
#endif #endif

View file

@ -908,6 +908,11 @@
* *
* Requires: POLARSSL_SSL_PROTO_TLS1_1 * Requires: POLARSSL_SSL_PROTO_TLS1_1
* or POLARSSL_SSL_PROTO_TLS1_2 * 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 * Comment this macro to disable support for DTLS
*/ */

View file

@ -76,7 +76,7 @@
#include "zlib.h" #include "zlib.h"
#endif #endif
#if defined(POLARSSL_TIMING_C) #if defined(POLARSSL_SSL_PROTO_DTLS)
#include "timing.h" #include "timing.h"
#endif #endif
@ -830,14 +830,11 @@ struct _ssl_context
ssl_transform *transform_negotiate; /*!< transform params in negotiation */ 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) #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 uint32_t hs_timeout_min; /*!< initial value of the handshake
retransmission timeout */ retransmission timeout */
uint32_t hs_timeout_max; /*!< maximum value of the handshake 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 )
} }
/* #if defined(POLARSSL_SSL_PROTO_DTLS)
* Timers (WIP)
*/
#if defined(POLARSSL_TIMING_C)
/* /*
* Start a timer. * Start a timer.
* Passing millisecs = 0 cancels a running timer. * Passing millisecs = 0 cancels a running timer.
@ -107,9 +104,7 @@ static int ssl_check_timer( ssl_context *ssl )
return( 0 ); return( 0 );
} }
#endif
#if defined(POLARSSL_SSL_PROTO_DTLS)
/* /*
* Double the retransmit timeout value, within the allowed range, * Double the retransmit timeout value, within the allowed range,
* returning -1 if the maximum value has already been reached. * 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( ssl->in_offt == NULL )
{ {
#if defined(POLARSSL_TIMING_C) #if defined(POLARSSL_SSL_PROTO_DTLS)
/* Start timer if not already running */ /* Start timer if not already running */
if( ssl->time_limit == 0 ) if( ssl->time_limit == 0 )
ssl_set_timer( ssl, ssl->read_timeout ); 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; 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, /* We're going to return something now, cancel timer,
* except if handshake (renegotiation) is in progress */ * except if handshake (renegotiation) is in progress */
if( ssl->state == SSL_HANDSHAKE_OVER ) if( ssl->state == SSL_HANDSHAKE_OVER )