Raise a bus alert when IKE message body parsing fails
This commit is contained in:
parent
2b95ab7620
commit
418f4bc7a5
|
@ -96,6 +96,9 @@ enum alert_t {
|
||||||
ALERT_INVALID_IKE_SPI,
|
ALERT_INVALID_IKE_SPI,
|
||||||
/** received IKE message with invalid header, argument is message_t* */
|
/** received IKE message with invalid header, argument is message_t* */
|
||||||
ALERT_PARSE_ERROR_HEADER,
|
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,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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_request(msg) ? "request" : "response",
|
||||||
msg->get_message_id(msg));
|
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)
|
if (this->ike_sa->get_state(this->ike_sa) == IKE_CREATED)
|
||||||
{ /* invalid initiation attempt, close SA */
|
{ /* invalid initiation attempt, close SA */
|
||||||
return DESTROY_ME;
|
return DESTROY_ME;
|
||||||
|
|
|
@ -1045,6 +1045,8 @@ static status_t parse_message(private_task_manager_t *this, message_t *msg)
|
||||||
is_request ? "request" : "response",
|
is_request ? "request" : "response",
|
||||||
msg->get_message_id(msg));
|
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)
|
if (this->ike_sa->get_state(this->ike_sa) == IKE_CREATED)
|
||||||
{ /* invalid initiation attempt, close SA */
|
{ /* invalid initiation attempt, close SA */
|
||||||
return DESTROY_ME;
|
return DESTROY_ME;
|
||||||
|
|
Loading…
Reference in New Issue