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:
Tobias Brunner
2016-06-17 18:48:02 +02:00
parent fa098aa97c
commit b7b414463d
2 changed files with 5 additions and 4 deletions
@@ -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);
+4 -4
View File
@@ -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);
}