aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libcharon/sa/task_manager.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libcharon/sa/task_manager.c b/src/libcharon/sa/task_manager.c
index 9b403a741..6dda6d27a 100644
--- a/src/libcharon/sa/task_manager.c
+++ b/src/libcharon/sa/task_manager.c
@@ -897,6 +897,10 @@ METHOD(task_manager_t, process_message, status_t,
}
}
charon->bus->message(charon->bus, msg, TRUE);
+ if (msg->get_exchange_type(msg) == EXCHANGE_TYPE_UNDEFINED)
+ { /* ignore messages altered to EXCHANGE_TYPE_UNDEFINED */
+ return SUCCESS;
+ }
if (process_request(this, msg) != SUCCESS)
{
flush(this);
@@ -938,6 +942,10 @@ METHOD(task_manager_t, process_message, status_t,
}
}
charon->bus->message(charon->bus, msg, TRUE);
+ if (msg->get_exchange_type(msg) == EXCHANGE_TYPE_UNDEFINED)
+ { /* ignore messages altered to EXCHANGE_TYPE_UNDEFINED */
+ return SUCCESS;
+ }
if (process_response(this, msg) != SUCCESS)
{
flush(this);