aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2013-03-13 16:06:54 +0100
committerMartin Willi <martin@revosec.ch>2013-03-14 14:20:54 +0100
commit335982169a68265cf693b113ea4683abba47df75 (patch)
tree1239de75227449913fd003638d37b0d2b3c3d1b6 /src
parentc45cf9048e1ccc8ca7b52c761a67adefa3994267 (diff)
downloadstrongswan-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.h2
-rw-r--r--src/libcharon/processing/jobs/dpd_timeout_job.c1
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,