aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/sa/tasks/ike_rekey.c
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2007-03-29 14:20:10 +0000
committerMartin Willi <martin@strongswan.org>2007-03-29 14:20:10 +0000
commitb9e363f86ff1ece278a8e8daeff711a645e8678a (patch)
treee294417a37a269fa7ca386e2f26ab2746b13a771 /src/charon/sa/tasks/ike_rekey.c
parent891e69944f8a743ed8b7f59a956849746c925223 (diff)
downloadstrongswan-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.c12
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);