Reuse reqid when restarting CHILD_SAs for dpd|closeaction=restart
authorTobias Brunner <tobias@strongswan.org>
Sat, 29 Jun 2013 16:47:02 +0000 (18:47 +0200)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Mon, 1 Jul 2013 07:58:34 +0000 (09:58 +0200)
src/libcharon/sa/ike_sa.c
src/libcharon/sa/ikev2/tasks/child_delete.c

index 22b9e43..87552e9 100644 (file)
@@ -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;
index 5e69677..9f12d73 100644 (file)
@@ -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,