]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
move idle_timeout to fr_time_delta_t
authorAlan T. DeKok <aland@freeradius.org>
Wed, 22 May 2019 14:59:06 +0000 (10:59 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 22 May 2019 15:08:08 +0000 (11:08 -0400)
src/modules/rlm_radius/rlm_radius.c
src/modules/rlm_radius/rlm_radius.h
src/modules/rlm_radius/rlm_radius_udp.c

index cb94f488c2f69ff5ef4d2bbcd2ee38b82a85209f..1f439eeb9196ad2be00c2a3b17d560ca172bf0cc 100644 (file)
@@ -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);
index 032177ca960e84e671768bde1022ac1c9681b941..a13cadb9ded1e4125a5d2cf7b04846a24dc8d097 100644 (file)
@@ -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?
index 9e7d93cd2be4e4671aa247c7541fcdc6466ade26..e160426014f967f896c404ca13fce0180457611e 100644 (file)
@@ -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);