child-create: Handle TEMPORARY_FAILURE notify as failure
We will later add code to retry creating the CHILD_SA if we are not rekeying. Rekeying is already rescheduled as with any other errors.
This commit is contained in:
@@ -1432,6 +1432,7 @@ METHOD(task_t, process_i, status_t,
|
||||
case FAILED_CP_REQUIRED:
|
||||
case TS_UNACCEPTABLE:
|
||||
case INVALID_SELECTORS:
|
||||
case TEMPORARY_FAILURE:
|
||||
{
|
||||
DBG1(DBG_IKE, "received %N notify, no CHILD_SA built",
|
||||
notify_type_names, type);
|
||||
|
||||
@@ -346,10 +346,10 @@ METHOD(task_t, process_i, status_t,
|
||||
}
|
||||
if (message->get_payload(message, PLV2_SECURITY_ASSOCIATION) == NULL)
|
||||
{
|
||||
/* establishing new child failed, reuse old. but not when we
|
||||
* received a delete in the meantime */
|
||||
if (!(this->collision &&
|
||||
this->collision->get_type(this->collision) == TASK_CHILD_DELETE))
|
||||
/* establishing new child failed, reuse old and try again. but not when
|
||||
* we received a delete in the meantime */
|
||||
if (!this->collision ||
|
||||
this->collision->get_type(this->collision) != TASK_CHILD_DELETE)
|
||||
{
|
||||
schedule_delayed_rekey(this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user