diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-06-29 18:47:02 +0200 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2013-07-01 09:58:34 +0200 |
commit | c949a4d5016e33c5a619a769c47bbb377f844485 (patch) | |
tree | 8c6b7dd41697141c7e6581793d8435525e80e5cb /src | |
parent | 4c74fa664bdb219971c48aa243998b0a633aa929 (diff) | |
download | strongswan-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.c | 3 | ||||
-rw-r--r-- | src/libcharon/sa/ikev2/tasks/child_delete.c | 4 |
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, |