From: Martin Willi Date: Thu, 15 Dec 2011 17:04:39 +0000 (+0100) Subject: Delete CHILD_SA if installing SA in third message fails X-Git-Tag: 5.0.0~338^2~9^2~187 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=767966e70bd25221362a597544be034ae85444b7;p=thirdparty%2Fstrongswan.git Delete CHILD_SA if installing SA in third message fails --- diff --git a/src/libcharon/sa/tasks/quick_mode.c b/src/libcharon/sa/tasks/quick_mode.c index 3858c0a695..3e20c36a46 100644 --- a/src/libcharon/sa/tasks/quick_mode.c +++ b/src/libcharon/sa/tasks/quick_mode.c @@ -25,6 +25,7 @@ #include #include #include +#include typedef struct private_quick_mode_t private_quick_mode_t; @@ -764,7 +765,11 @@ METHOD(task_t, process_r, status_t, } if (!install(this)) { - return FAILED; + this->ike_sa->queue_task(this->ike_sa, + (task_t*)quick_delete_create(this->ike_sa, + this->proposal->get_protocol(this->proposal), + this->spi_i, TRUE)); + return ALREADY_DONE; } return SUCCESS; }