When IKEv1 DPD times out, raise missing SEND_RETRANSMIT_TIMOUT alert
This commit is contained in:
@@ -103,7 +103,7 @@ enum alert_t {
|
|||||||
ALERT_PARSE_ERROR_BODY,
|
ALERT_PARSE_ERROR_BODY,
|
||||||
/** sending a retransmit for a message, argument is packet_t */
|
/** sending a retransmit for a message, argument is packet_t */
|
||||||
ALERT_RETRANSMIT_SEND,
|
ALERT_RETRANSMIT_SEND,
|
||||||
/** sending retransmits timed out, argument is packet_t */
|
/** sending retransmits timed out, argument is packet_t, if available */
|
||||||
ALERT_RETRANSMIT_SEND_TIMEOUT,
|
ALERT_RETRANSMIT_SEND_TIMEOUT,
|
||||||
/** received a retransmit for a message, argument is message_t */
|
/** received a retransmit for a message, argument is message_t */
|
||||||
ALERT_RETRANSMIT_RECEIVE,
|
ALERT_RETRANSMIT_RECEIVE,
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ METHOD(job_t, execute, job_requeue_t,
|
|||||||
if (use_time < this->check)
|
if (use_time < this->check)
|
||||||
{
|
{
|
||||||
DBG1(DBG_JOB, "DPD check timed out, enforcing DPD action");
|
DBG1(DBG_JOB, "DPD check timed out, enforcing DPD action");
|
||||||
|
charon->bus->alert(charon->bus, ALERT_RETRANSMIT_SEND_TIMEOUT, NULL);
|
||||||
charon->bus->ike_updown(charon->bus, ike_sa, FALSE);
|
charon->bus->ike_updown(charon->bus, ike_sa, FALSE);
|
||||||
ike_sa->reestablish(ike_sa);
|
ike_sa->reestablish(ike_sa);
|
||||||
charon->ike_sa_manager->checkin_and_destroy(charon->ike_sa_manager,
|
charon->ike_sa_manager->checkin_and_destroy(charon->ike_sa_manager,
|
||||||
|
|||||||
Reference in New Issue
Block a user