summaryrefslogtreecommitdiff
path: root/accel-pppd
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd')
-rw-r--r--accel-pppd/extra/pppd_compat.c2
-rw-r--r--accel-pppd/include/events.h1
-rw-r--r--accel-pppd/ppp/ppp.c2
3 files changed, 4 insertions, 1 deletions
diff --git a/accel-pppd/extra/pppd_compat.c b/accel-pppd/extra/pppd_compat.c
index d4eb10be..d89a6a6a 100644
--- a/accel-pppd/extra/pppd_compat.c
+++ b/accel-pppd/extra/pppd_compat.c
@@ -538,7 +538,7 @@ static void init(void)
triton_event_register_handler(EV_PPP_PRE_UP, (triton_event_func)ev_ppp_pre_up);
triton_event_register_handler(EV_PPP_STARTED, (triton_event_func)ev_ppp_started);
triton_event_register_handler(EV_PPP_FINISHING, (triton_event_func)ev_ppp_finishing);
- triton_event_register_handler(EV_PPP_FINISHED, (triton_event_func)ev_ppp_finished);
+ triton_event_register_handler(EV_PPP_PRE_FINISHED, (triton_event_func)ev_ppp_finished);
#ifdef RADIUS
if (triton_module_loaded("radius")) {
triton_event_register_handler(EV_RADIUS_ACCESS_ACCEPT, (triton_event_func)ev_radius_access_accept);
diff --git a/accel-pppd/include/events.h b/accel-pppd/include/events.h
index 4e48fe15..5d6fea7e 100644
--- a/accel-pppd/include/events.h
+++ b/accel-pppd/include/events.h
@@ -16,6 +16,7 @@
#define EV_PPP_ACCT_START 10
#define EV_CONFIG_RELOAD 11
#define EV_PPP_AUTH_FAILED 12
+#define EV_PPP_PRE_FINISHED 13
#define EV_IP_CHANGED 100
#define EV_SHAPER 101
#define EV_MPPE_KEYS 102
diff --git a/accel-pppd/ppp/ppp.c b/accel-pppd/ppp/ppp.c
index 3ab71662..4f3beb9e 100644
--- a/accel-pppd/ppp/ppp.c
+++ b/accel-pppd/ppp/ppp.c
@@ -202,6 +202,8 @@ exit_close_chan:
static void destablish_ppp(struct ppp_t *ppp)
{
+ triton_event_fire(EV_PPP_PRE_FINISHED, ppp);
+
pthread_rwlock_wrlock(&ppp_lock);
list_del(&ppp->entry);
pthread_rwlock_unlock(&ppp_lock);