]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
When IKEv1 DPD times out, raise missing SEND_RETRANSMIT_TIMOUT alert
authorMartin Willi <martin@revosec.ch>
Wed, 13 Mar 2013 15:06:54 +0000 (16:06 +0100)
committerMartin Willi <martin@revosec.ch>
Thu, 14 Mar 2013 13:20:54 +0000 (14:20 +0100)
src/libcharon/bus/bus.h
src/libcharon/processing/jobs/dpd_timeout_job.c

index 67673d9be409ece3e434cca5eb1356e48f605b9f..18d57bce171c59c33e09c50a8641b2b45ce233db 100644 (file)
@@ -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,
index 0f823769a20ba7c8051506bb3cb4adc8cfef5ac9..9cdce5cab06a65a5d45d8876acd011224812ccd4 100644 (file)
@@ -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,