From: Alan T. DeKok Date: Wed, 22 May 2019 14:59:06 +0000 (-0400) Subject: move idle_timeout to fr_time_delta_t X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=880143e34baeec05466025293ddd55da0acbf487;p=thirdparty%2Ffreeradius-server.git move idle_timeout to fr_time_delta_t --- diff --git a/src/modules/rlm_radius/rlm_radius.c b/src/modules/rlm_radius/rlm_radius.c index cb94f488c2f..1f439eeb919 100644 --- a/src/modules/rlm_radius/rlm_radius.c +++ b/src/modules/rlm_radius/rlm_radius.c @@ -59,7 +59,7 @@ static CONF_PARSER const connection_config[] = { { FR_CONF_OFFSET("reconnect_delay", FR_TYPE_TIMEVAL, rlm_radius_t, reconnection_delay), .dflt = STRINGIFY(5) }, - { FR_CONF_OFFSET("idle_timeout", FR_TYPE_TIMEVAL, rlm_radius_t, idle_timeout), + { FR_CONF_OFFSET("idle_timeout", FR_TYPE_TIME_DELTA, rlm_radius_t, idle_timeout), .dflt = STRINGIFY(300) }, { FR_CONF_OFFSET("zombie_period", FR_TYPE_TIMEVAL, rlm_radius_t, zombie_period), @@ -555,10 +555,8 @@ static int mod_bootstrap(void *instance, CONF_SECTION *conf) FR_TIMEVAL_BOUND_CHECK("connection.reconnect_delay", &inst->reconnection_delay, >=, 5, 0); FR_TIMEVAL_BOUND_CHECK("connection.reconnect_delay", &inst->reconnection_delay, <=, 300, 0); - if ((inst->idle_timeout.tv_sec != 0) && (inst->idle_timeout.tv_usec != 0)) { - FR_TIMEVAL_BOUND_CHECK("connection.idle_timeout", &inst->idle_timeout, >=, 5, 0); - } - FR_TIMEVAL_BOUND_CHECK("connection.idle_timeout", &inst->idle_timeout, <=, 600, 0); + FR_TIME_DELTA_BOUND_CHECK("connection.idle_timeout", inst->idle_timeout, >=, 5, 0); + FR_TIME_DELTA_BOUND_CHECK("connection.idle_timeout", inst->idle_timeout, <=, 600, 0); FR_TIMEVAL_BOUND_CHECK("connection.zombie_period", &inst->zombie_period, >=, 1, 0); FR_TIMEVAL_BOUND_CHECK("connection.zombie_period", &inst->zombie_period, <=, 120, 0); diff --git a/src/modules/rlm_radius/rlm_radius.h b/src/modules/rlm_radius/rlm_radius.h index 032177ca960..a13cadb9ded 100644 --- a/src/modules/rlm_radius/rlm_radius.h +++ b/src/modules/rlm_radius/rlm_radius.h @@ -80,7 +80,7 @@ struct rlm_radius_t { struct timeval connection_timeout; struct timeval reconnection_delay; - struct timeval idle_timeout; + fr_time_delta_t idle_timeout; struct timeval zombie_period; bool replicate; //!< are we ignoring responses? diff --git a/src/modules/rlm_radius/rlm_radius_udp.c b/src/modules/rlm_radius/rlm_radius_udp.c index 9e7d93cd2be..e160426014f 100644 --- a/src/modules/rlm_radius/rlm_radius_udp.c +++ b/src/modules/rlm_radius/rlm_radius_udp.c @@ -370,7 +370,7 @@ static void conn_check_idle(fr_io_connection_t *c) DEBUG("%s - Setting idle timeout to +%u.%03u for connection %s", c->module_name, - (uint32_t) c->thread->idle_timeout / NSEC, + (uint32_t) (c->thread->idle_timeout / NSEC), (uint32_t) (c->thread->idle_timeout % NSEC) / 1000000, c->name); if (fr_event_timer_at(c, c->thread->el, &c->idle_ev, c->idle_timeout, conn_idle_timeout, c) < 0) { @@ -2953,7 +2953,7 @@ static int mod_thread_instantiate(UNUSED CONF_SECTION const *cs, void *instance, COPY(connection_timeout); COPY(reconnection_delay); - t->idle_timeout = fr_time_delta_from_timeval(&inst->parent->idle_timeout); + t->idle_timeout = inst->parent->idle_timeout; t->zombie_period = fr_time_delta_from_timeval(&inst->parent->zombie_period); rcode = conn_thread_instantiate(t, el);