From fe752e7c0ab53eafd46ff2df86a19c6b79954c8f Mon Sep 17 00:00:00 2001 From: Dmitriy Zhuravlev Date: Fri, 27 May 2016 15:50:45 +0300 Subject: [PATCH] Fix CA DTLS handshake retransmission timer registerTimer allows only positive integers which can not be less than RETRANSMISSION_TIME = 1 sec Change-Id: Ide9344e0eb703564558626a74f754e394288fa1d Signed-off-by: Dmitriy Zhuravlev Reviewed-on: https://gerrit.iotivity.org/gerrit/8369 Tested-by: jenkins-iotivity Reviewed-by: Chul Lee Reviewed-by: Jongsung Lee Reviewed-by: Randeep Singh --- .../src/adapter_util/caadapternetdtls.c | 26 ++++------------------ 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/resource/csdk/connectivity/src/adapter_util/caadapternetdtls.c b/resource/csdk/connectivity/src/adapter_util/caadapternetdtls.c index 8caf45f..43f7337 100644 --- a/resource/csdk/connectivity/src/adapter_util/caadapternetdtls.c +++ b/resource/csdk/connectivity/src/adapter_util/caadapternetdtls.c @@ -71,10 +71,10 @@ static ca_mutex g_dtlsContextMutex = NULL; static CAGetDTLSPskCredentialsHandler g_getCredentialsCallback = NULL; /** - * @var MAX_RETRANSMISSION_TIME + * @var RETRANSMISSION_TIME * @brief Maximum timeout value (in seconds) to start DTLS retransmission. */ -#define MAX_RETRANSMISSION_TIME 1 +#define RETRANSMISSION_TIME 1 /** * @var g_dtlsHandshakeCallback @@ -1013,10 +1013,6 @@ exit: static void CAStartRetransmit() { static int timerId = -1; - clock_time_t nextSchedule = MAX_RETRANSMISSION_TIME; - - OIC_LOG(DEBUG, NET_DTLS_TAG, "CAStartRetransmit IN"); - if (timerId != -1) { //clear previous timer @@ -1031,25 +1027,11 @@ static void CAStartRetransmit() ca_mutex_unlock(g_dtlsContextMutex); return; } - - OIC_LOG(DEBUG, NET_DTLS_TAG, "Check retransmission"); - dtls_check_retransmit(g_caDtlsContext->dtlsContext, &nextSchedule); + dtls_check_retransmit(g_caDtlsContext->dtlsContext, NULL); ca_mutex_unlock(g_dtlsContextMutex); - - //re-transmission timeout should not be greater then max one - //this will cover case when several clients start dtls sessions - nextSchedule /= CLOCKS_PER_SEC; - if (nextSchedule > MAX_RETRANSMISSION_TIME) - { - nextSchedule = MAX_RETRANSMISSION_TIME; - } } - //start new timer - OIC_LOG(DEBUG, NET_DTLS_TAG, "Start new timer"); - registerTimer(nextSchedule, &timerId, CAStartRetransmit); - - OIC_LOG(DEBUG, NET_DTLS_TAG, "CAStartRetransmit OUT"); + registerTimer(RETRANSMISSION_TIME, &timerId, CAStartRetransmit); } CAResult_t CAAdapterNetDtlsInit() -- 2.7.4