aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2009-05-07 15:53:45 +0200
committerMartin Willi <martin@strongswan.org>2009-05-15 10:07:03 +0200
commit40510c663d442f801bd7be99e7ba012c1cd97929 (patch)
tree6be6eb09e0b343d3a943b16074de5e1ab47c003f
parent79b272949080bf5938df1c5affe7b4bc631a81b7 (diff)
downloadstrongswan-40510c663d442f801bd7be99e7ba012c1cd97929.tar.bz2
strongswan-40510c663d442f801bd7be99e7ba012c1cd97929.tar.xz
properly delete IKE_SA if IKE_SA_INIT processing failed
-rw-r--r--src/charon/sa/ike_sa.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/charon/sa/ike_sa.c b/src/charon/sa/ike_sa.c
index 17ba15e27..e9bac140a 100644
--- a/src/charon/sa/ike_sa.c
+++ b/src/charon/sa/ike_sa.c
@@ -1438,6 +1438,11 @@ static status_t process_message(private_ike_sa_t *this, message_t *message)
exchange_type_names, message->get_exchange_type(message),
message->get_request(message) ? "request" : "response",
message->get_message_id(message));
+
+ if (this->state == IKE_CREATED)
+ { /* invalid initiation attempt, close SA */
+ return DESTROY_ME;
+ }
return status;
}
else