From 3805880c8aa015b3cdbfcdac82dd4b9049317e9b Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 28 Sep 2015 17:35:30 +0200 Subject: [PATCH] ikev1: Handle queued TRANSACTION messages only after processing replies --- src/libcharon/sa/ikev1/task_manager_v1.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libcharon/sa/ikev1/task_manager_v1.c b/src/libcharon/sa/ikev1/task_manager_v1.c index 0b329e03a..a027b749e 100644 --- a/src/libcharon/sa/ikev1/task_manager_v1.c +++ b/src/libcharon/sa/ikev1/task_manager_v1.c @@ -1167,7 +1167,8 @@ static status_t process_response(private_task_manager_t *this, this->initiating.type = EXCHANGE_TYPE_UNDEFINED; clear_packets(this->initiating.packets); - if (this->queued && this->active_tasks->get_count(this->active_tasks) == 0) + if (this->queued && !this->active_tasks->get_count(this->active_tasks) && + this->queued->get_exchange_type(this->queued) == TRANSACTION) { queued = this->queued; this->queued = NULL;