diff options
author | Martin Willi <martin@strongswan.org> | 2007-03-29 14:20:10 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2007-03-29 14:20:10 +0000 |
commit | b9e363f86ff1ece278a8e8daeff711a645e8678a (patch) | |
tree | e294417a37a269fa7ca386e2f26ab2746b13a771 /src/charon/sa/tasks/ike_rekey.c | |
parent | 891e69944f8a743ed8b7f59a956849746c925223 (diff) | |
download | strongswan-b9e363f86ff1ece278a8e8daeff711a645e8678a.tar.bz2 strongswan-b9e363f86ff1ece278a8e8daeff711a645e8678a.tar.xz |
added IKE_SA_INIT retransmission detection
fixed thread exhaustion when IKE_SA is blocked for a longer time
Diffstat (limited to 'src/charon/sa/tasks/ike_rekey.c')
-rw-r--r-- | src/charon/sa/tasks/ike_rekey.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/charon/sa/tasks/ike_rekey.c b/src/charon/sa/tasks/ike_rekey.c index 7a6b353ba..a33e7ee34 100644 --- a/src/charon/sa/tasks/ike_rekey.c +++ b/src/charon/sa/tasks/ike_rekey.c @@ -75,11 +75,9 @@ static status_t build_i(private_ike_rekey_t *this, message_t *message) { connection_t *connection; policy_t *policy; - ike_sa_id_t *id; - id = ike_sa_id_create(0, 0, TRUE); - this->new_sa = charon->ike_sa_manager->checkout(charon->ike_sa_manager, id); - id->destroy(id); + this->new_sa = charon->ike_sa_manager->checkout_new(charon->ike_sa_manager, + TRUE); connection = this->ike_sa->get_connection(this->ike_sa); policy = this->ike_sa->get_policy(this->ike_sa); @@ -101,7 +99,6 @@ static status_t process_r(private_ike_rekey_t *this, message_t *message) { connection_t *connection; policy_t *policy; - ike_sa_id_t *id; iterator_t *iterator; child_sa_t *child_sa; @@ -129,9 +126,8 @@ static status_t process_r(private_ike_rekey_t *this, message_t *message) } iterator->destroy(iterator); - id = ike_sa_id_create(0, 0, FALSE); - this->new_sa = charon->ike_sa_manager->checkout(charon->ike_sa_manager, id); - id->destroy(id); + this->new_sa = charon->ike_sa_manager->checkout_new(charon->ike_sa_manager, + FALSE); connection = this->ike_sa->get_connection(this->ike_sa); policy = this->ike_sa->get_policy(this->ike_sa); |