aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2013-06-29 18:47:02 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2013-07-01 09:58:34 +0200
commitc949a4d5016e33c5a619a769c47bbb377f844485 (patch)
tree8c6b7dd41697141c7e6581793d8435525e80e5cb /src
parent4c74fa664bdb219971c48aa243998b0a633aa929 (diff)
downloadstrongswan-c949a4d5016e33c5.tar.bz2
strongswan-c949a4d5016e33c5.tar.xz
Reuse reqid when restarting CHILD_SAs for dpd|closeaction=restart
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/sa/ike_sa.c3
-rw-r--r--src/libcharon/sa/ikev2/tasks/child_delete.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/libcharon/sa/ike_sa.c b/src/libcharon/sa/ike_sa.c
index 22b9e4348..87552e9c3 100644
--- a/src/libcharon/sa/ike_sa.c
+++ b/src/libcharon/sa/ike_sa.c
@@ -1675,7 +1675,8 @@ METHOD(ike_sa_t, reestablish, status_t,
DBG1(DBG_IKE, "restarting CHILD_SA %s",
child_cfg->get_name(child_cfg));
child_cfg->get_ref(child_cfg);
- status = new->initiate(new, child_cfg, 0, NULL, NULL);
+ status = new->initiate(new, child_cfg,
+ child_sa->get_reqid(child_sa), NULL, NULL);
break;
default:
continue;
diff --git a/src/libcharon/sa/ikev2/tasks/child_delete.c b/src/libcharon/sa/ikev2/tasks/child_delete.c
index 5e696775c..9f12d7385 100644
--- a/src/libcharon/sa/ikev2/tasks/child_delete.c
+++ b/src/libcharon/sa/ikev2/tasks/child_delete.c
@@ -222,8 +222,8 @@ static status_t destroy_and_reestablish(private_child_delete_t *this)
{
case ACTION_RESTART:
child_cfg->get_ref(child_cfg);
- status = this->ike_sa->initiate(this->ike_sa, child_cfg, 0,
- NULL, NULL);
+ status = this->ike_sa->initiate(this->ike_sa, child_cfg,
+ child_sa->get_reqid(child_sa), NULL, NULL);
break;
case ACTION_ROUTE:
charon->traps->install(charon->traps,