From c949a4d5016e33c5a619a769c47bbb377f844485 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Sat, 29 Jun 2013 18:47:02 +0200 Subject: [PATCH] Reuse reqid when restarting CHILD_SAs for dpd|closeaction=restart --- src/libcharon/sa/ike_sa.c | 3 ++- 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 22b9e43480..87552e9c31 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 5e696775c7..9f12d7385d 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, -- 2.47.2