diff options
author | Martin Willi <martin@revosec.ch> | 2013-03-13 16:06:54 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-03-14 14:20:54 +0100 |
commit | 335982169a68265cf693b113ea4683abba47df75 (patch) | |
tree | 1239de75227449913fd003638d37b0d2b3c3d1b6 /src | |
parent | c45cf9048e1ccc8ca7b52c761a67adefa3994267 (diff) | |
download | strongswan-335982169a68265cf693b113ea4683abba47df75.tar.bz2 strongswan-335982169a68265cf693b113ea4683abba47df75.tar.xz |
When IKEv1 DPD times out, raise missing SEND_RETRANSMIT_TIMOUT alert
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/bus/bus.h | 2 | ||||
-rw-r--r-- | src/libcharon/processing/jobs/dpd_timeout_job.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/libcharon/bus/bus.h b/src/libcharon/bus/bus.h index 67673d9be..18d57bce1 100644 --- a/src/libcharon/bus/bus.h +++ b/src/libcharon/bus/bus.h @@ -103,7 +103,7 @@ enum alert_t { ALERT_PARSE_ERROR_BODY, /** sending a retransmit for a message, argument is packet_t */ 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, /** received a retransmit for a message, argument is message_t */ ALERT_RETRANSMIT_RECEIVE, diff --git a/src/libcharon/processing/jobs/dpd_timeout_job.c b/src/libcharon/processing/jobs/dpd_timeout_job.c index 0f823769a..9cdce5cab 100644 --- a/src/libcharon/processing/jobs/dpd_timeout_job.c +++ b/src/libcharon/processing/jobs/dpd_timeout_job.c @@ -77,6 +77,7 @@ METHOD(job_t, execute, job_requeue_t, if (use_time < this->check) { 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); ike_sa->reestablish(ike_sa); charon->ike_sa_manager->checkin_and_destroy(charon->ike_sa_manager, |