diff options
author | Kozlov Dmitry <xeb@mail.ru> | 2012-05-14 22:22:54 +0400 |
---|---|---|
committer | Kozlov Dmitry <xeb@mail.ru> | 2012-05-14 22:30:13 +0400 |
commit | 64c36cc7dc0beac13c715bb5dedc697861c1badf (patch) | |
tree | a5cdd9d40a8f1c7662f541340ec6c55bc7b80252 /accel-pppd | |
parent | aff9450a3b95e848f761533a4c659269477a2fd4 (diff) | |
download | accel-ppp-64c36cc7dc0beac13c715bb5dedc697861c1badf.tar.gz accel-ppp-64c36cc7dc0beac13c715bb5dedc697861c1badf.zip |
pppd_compat: use EV_PPP_PRE_FINISHED event to start ip-down script (fixes unexpected radattr file removal)
Diffstat (limited to 'accel-pppd')
-rw-r--r-- | accel-pppd/extra/pppd_compat.c | 2 | ||||
-rw-r--r-- | accel-pppd/include/events.h | 1 | ||||
-rw-r--r-- | accel-pppd/ppp/ppp.c | 2 |
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); |