Raise a bus alert when IKE message body parsing fails

This commit is contained in:
Martin Willi
2012-10-24 11:34:30 +02:00
parent 2b95ab7620
commit 418f4bc7a5
3 changed files with 7 additions and 0 deletions
+3
View File
@@ -96,6 +96,9 @@ enum alert_t {
ALERT_INVALID_IKE_SPI,
/** received IKE message with invalid header, argument is message_t* */
ALERT_PARSE_ERROR_HEADER,
/** received IKE message with invalid body, argument is message_t*,
* followed by a status_t result returned by message_t.parse_body(). */
ALERT_PARSE_ERROR_BODY,
};
/**
+2
View File
@@ -1076,6 +1076,8 @@ static status_t parse_message(private_task_manager_t *this, message_t *msg)
msg->get_request(msg) ? "request" : "response",
msg->get_message_id(msg));
charon->bus->alert(charon->bus, ALERT_PARSE_ERROR_BODY, msg, status);
if (this->ike_sa->get_state(this->ike_sa) == IKE_CREATED)
{ /* invalid initiation attempt, close SA */
return DESTROY_ME;
+2
View File
@@ -1045,6 +1045,8 @@ static status_t parse_message(private_task_manager_t *this, message_t *msg)
is_request ? "request" : "response",
msg->get_message_id(msg));
charon->bus->alert(charon->bus, ALERT_PARSE_ERROR_BODY, msg, status);
if (this->ike_sa->get_state(this->ike_sa) == IKE_CREATED)
{ /* invalid initiation attempt, close SA */
return DESTROY_ME;