Reuse existing DH value when retrying IKE_SA_INIT with a COOKIE

This commit is contained in:
Martin Willi
2012-04-17 10:02:21 +02:00
parent 7fd6c078b6
commit a59a03670b
+5 -2
View File
@@ -517,8 +517,11 @@ METHOD(task_t, migrate, void,
this->ike_sa = ike_sa;
this->keymat = ike_sa->get_keymat(ike_sa);
this->proposal = NULL;
DESTROY_IF(this->dh);
this->dh = this->keymat->create_dh(this->keymat, this->dh_group);
if (this->dh && this->dh->get_dh_group(this->dh) != this->dh_group)
{ /* reset DH value only if group changed (INVALID_KE_PAYLOAD) */
this->dh->destroy(this->dh);
this->dh = this->keymat->create_dh(this->keymat, this->dh_group);
}
}
METHOD(task_t, destroy, void,