aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-11-09 10:19:09 +0100
committerMartin Willi <martin@revosec.ch>2011-01-05 16:45:42 +0100
commitc146c3c4e1c4de2aaa6bb08ab4705666e74b28bd (patch)
treebd6bf32d7bb4f0b3cf45be888b1158e9bcdefdcd /src
parent81b213499d16b0a868e3317b067b26b1917c009e (diff)
downloadstrongswan-c146c3c4e1c4de2aaa6bb08ab4705666e74b28bd.tar.bz2
strongswan-c146c3c4e1c4de2aaa6bb08ab4705666e74b28bd.tar.xz
Ingore messages with exchange type altered to UNDEFINED in message() hook
Diffstat (limited to 'src')
-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);