From 8c8ddabc22a523fb129e422baa025d720c3b455b Mon Sep 17 00:00:00 2001 From: Dmitriy Eshenko Date: Sat, 13 Dec 2025 15:38:16 +0200 Subject: fix(accounting): preserve last counters on disconnect Ensure accounting values include the most recent traffic sample when a session disconnects, preventing the final interval from being dropped and avoiding under-reported totals in usage/billing. Big thanks Dmitriy Eshenko for patch and testing Author: Dmitriy Eshenko Signed-off-by: Denys Fedoryshchenko --- accel-pppd/session.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'accel-pppd/session.c') diff --git a/accel-pppd/session.c b/accel-pppd/session.c index 74b39475..a1b194a3 100644 --- a/accel-pppd/session.c +++ b/accel-pppd/session.c @@ -186,7 +186,6 @@ void __export ap_session_finished(struct ap_session *ses) if (!ses->down) { ap_session_ifdown(ses); - ap_session_read_stats(ses, NULL); triton_event_fire(EV_SES_FINISHING, ses); } @@ -309,10 +308,10 @@ void __export ap_session_terminate(struct ap_session *ses, int cause, int hard) ses->state = AP_STATE_FINISHING; log_ppp_debug("terminate\n"); + ap_session_read_stats(ses, NULL); if (ses->ctrl->terminate(ses, hard)) { ap_session_ifdown(ses); - ap_session_read_stats(ses, NULL); triton_event_fire(EV_SES_FINISHING, ses); -- cgit v1.2.3