summaryrefslogtreecommitdiff
path: root/accel-pppd/radius/radius.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/radius/radius.c')
-rw-r--r--accel-pppd/radius/radius.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/accel-pppd/radius/radius.c b/accel-pppd/radius/radius.c
index c8eaf953..c5537086 100644
--- a/accel-pppd/radius/radius.c
+++ b/accel-pppd/radius/radius.c
@@ -369,6 +369,17 @@ static void session_timeout(struct triton_timer_t *t)
ap_session_terminate(rpd->ses, TERM_SESSION_TIMEOUT, 0);
}
+void rad_update_session_timeout(struct radius_pd_t *rpd, int timeout)
+{
+ rpd->session_timeout.expire_tv.tv_sec = timeout;
+ rpd->session_timeout.expire = session_timeout;
+
+ if (rpd->session_timeout.tpd)
+ triton_timer_mod(&rpd->session_timeout, 0);
+ else
+ triton_timer_add(rpd->ses->ctrl->ctx, &rpd->session_timeout, 0);
+}
+
static void ses_starting(struct ap_session *ses)
{
struct radius_pd_t *rpd = mempool_alloc(rpd_pool);