aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/config/configuration_manager.c
diff options
context:
space:
mode:
authorJan Hutter <jhutter@hsr.ch>2005-12-12 14:14:52 +0000
committerJan Hutter <jhutter@hsr.ch>2005-12-12 14:14:52 +0000
commite9c0ca15e177d4651dca5092b02a50bfb57842a1 (patch)
tree7eedb7bb4c463cd19de516c7a3bddf72dfc5ec05 /Source/charon/config/configuration_manager.c
parent6db4e80b569137103b5003b9585e32c12af1a694 (diff)
downloadstrongswan-e9c0ca15e177d4651dca5092b02a50bfb57842a1.tar.bz2
strongswan-e9c0ca15e177d4651dca5092b02a50bfb57842a1.tar.xz
- added deletion of IKE_SA
Diffstat (limited to 'Source/charon/config/configuration_manager.c')
-rw-r--r--Source/charon/config/configuration_manager.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/charon/config/configuration_manager.c b/Source/charon/config/configuration_manager.c
index f2c726da5..4e9cdc5b4 100644
--- a/Source/charon/config/configuration_manager.c
+++ b/Source/charon/config/configuration_manager.c
@@ -745,15 +745,19 @@ static status_t get_rsa_private_key(private_configuration_manager_t *this, ident
*/
static status_t get_retransmit_timeout (private_configuration_manager_t *this, u_int32_t retransmit_count, u_int32_t *timeout)
{
+ int new_timeout = this->first_retransmit_timeout, i;
if ((retransmit_count > this->max_retransmit_count) && (this->max_retransmit_count != 0))
{
return FAILED;
}
- /**
- * TODO implement a good retransmit policy
- */
- *timeout = this->first_retransmit_timeout * (retransmit_count + 1);
+
+ for (i = 0; i < retransmit_count; i++)
+ {
+ new_timeout *= 2;
+ }
+
+ *timeout = new_timeout;
return SUCCESS;
}