diff options
author | Jan Hutter <jhutter@hsr.ch> | 2005-12-12 14:14:52 +0000 |
---|---|---|
committer | Jan Hutter <jhutter@hsr.ch> | 2005-12-12 14:14:52 +0000 |
commit | e9c0ca15e177d4651dca5092b02a50bfb57842a1 (patch) | |
tree | 7eedb7bb4c463cd19de516c7a3bddf72dfc5ec05 /Source/charon/config/configuration_manager.c | |
parent | 6db4e80b569137103b5003b9585e32c12af1a694 (diff) | |
download | strongswan-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.c | 12 |
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; } |