aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2013-03-11 11:30:47 +0100
committerMartin Willi <martin@revosec.ch>2013-03-11 11:30:47 +0100
commit8f727d8007510839a17796b53afe090a8955e23d (patch)
treeec25cc27eeb9a398a8e6369d0f3f1cbf7e00250e /src
parent0235914d2fa6896120ca084ef0df241e9ad7798c (diff)
downloadstrongswan-8f727d8007510839a17796b53afe090a8955e23d.tar.bz2
strongswan-8f727d8007510839a17796b53afe090a8955e23d.tar.xz
Clean up IKE_SA state if IKE_SA_INIT request does not have message ID 0
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/sa/ikev2/task_manager_v2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libcharon/sa/ikev2/task_manager_v2.c b/src/libcharon/sa/ikev2/task_manager_v2.c
index 29d8d830e..a53c06bf7 100644
--- a/src/libcharon/sa/ikev2/task_manager_v2.c
+++ b/src/libcharon/sa/ikev2/task_manager_v2.c
@@ -1175,6 +1175,10 @@ METHOD(task_manager_t, process_message, status_t,
{
DBG1(DBG_IKE, "received message ID %d, expected %d. Ignored",
mid, this->responding.mid);
+ if (msg->get_exchange_type(msg) == IKE_SA_INIT)
+ { /* clean up IKE_SA state if IKE_SA_INIT has invalid msg ID */
+ return DESTROY_ME;
+ }
}
}
else