From cc8f2bada5635768d425e2fa2bafb095acda8ca9 Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Fri, 27 Jan 2023 11:05:26 +0300 Subject: radius: implemented accounting delay option (acct-delay-start) --- accel-pppd/radius/radius.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'accel-pppd/radius/radius.c') diff --git a/accel-pppd/radius/radius.c b/accel-pppd/radius/radius.c index 786faa5..2406ba0 100644 --- a/accel-pppd/radius/radius.c +++ b/accel-pppd/radius/radius.c @@ -57,6 +57,8 @@ static int conf_strip_realm; const char *conf_attr_tunnel_type; +int conf_acct_delay_start; + static LIST_HEAD(sessions); static pthread_rwlock_t sessions_lock = PTHREAD_RWLOCK_INITIALIZER; @@ -697,6 +699,9 @@ static void ses_finishing(struct ap_session *ses) if (rpd->acct_started || rpd->acct_req) rad_acct_stop(rpd); + + if (rpd->acct_interim_timer.tpd) + triton_timer_del(&rpd->acct_interim_timer); } static void ses_finished(struct ap_session *ses) @@ -1075,6 +1080,12 @@ static int load_config(void) if (opt) conf_nas_port_id_in_req = atoi(opt); + opt = conf_get_opt("radius", "acct-delay-start"); + if (opt) + conf_acct_delay_start = atoi(opt); + else + conf_acct_delay_start = 0; + return 0; } -- cgit v1.2.3