From: Alan T. DeKok Date: Mon, 23 Aug 2021 18:41:25 +0000 (-0400) Subject: add and document response_window X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ed56be136dcd8600a4619fc2827f066d8806eba;p=thirdparty%2Ffreeradius-server.git add and document response_window --- diff --git a/raddb/mods-available/radius b/raddb/mods-available/radius index 6eeae1f3647..c41430a5744 100644 --- a/raddb/mods-available/radius +++ b/raddb/mods-available/radius @@ -164,6 +164,12 @@ radius { } + # + # response_window: If we do not receive a reply within this time period, then + # start `zombie_period` + # + response_window = 15 + # # zombie_period:: If the home server does not reply to a packet, the # `zombie_period` starts. diff --git a/src/modules/rlm_radius/rlm_radius.c b/src/modules/rlm_radius/rlm_radius.c index 3d084192734..8a03a6f2103 100644 --- a/src/modules/rlm_radius/rlm_radius.c +++ b/src/modules/rlm_radius/rlm_radius.c @@ -117,6 +117,8 @@ static CONF_PARSER const module_config[] = { { FR_CONF_OFFSET("max_attributes", FR_TYPE_UINT32, rlm_radius_t, max_attributes), .dflt = STRINGIFY(RADIUS_MAX_ATTRIBUTES) }, + { FR_CONF_OFFSET("response_window", FR_TYPE_TIME_DELTA, rlm_radius_t, response_window), .dflt = STRINGIFY(20) }, + { FR_CONF_OFFSET("zombie_period", FR_TYPE_TIME_DELTA, rlm_radius_t, zombie_period), .dflt = STRINGIFY(40) }, { FR_CONF_OFFSET("revive_interval", FR_TYPE_TIME_DELTA, rlm_radius_t, revive_interval) }, @@ -592,6 +594,9 @@ static int mod_bootstrap(void *instance, CONF_SECTION *conf) FR_INTEGER_BOUND_CHECK("trunk.per_connection_max", inst->trunk_conf.max_req_per_conn, <=, 255); FR_INTEGER_BOUND_CHECK("trunk.per_connection_target", inst->trunk_conf.target_req_per_conn, <=, inst->trunk_conf.max_req_per_conn / 2); + FR_TIME_DELTA_BOUND_CHECK("response_window", inst->zombie_period, >=, fr_time_delta_from_sec(1)); + FR_TIME_DELTA_BOUND_CHECK("response_window", inst->zombie_period, <=, fr_time_delta_from_sec(120)); + FR_TIME_DELTA_BOUND_CHECK("zombie_period", inst->zombie_period, >=, fr_time_delta_from_sec(1)); FR_TIME_DELTA_BOUND_CHECK("zombie_period", inst->zombie_period, <=, fr_time_delta_from_sec(120)); diff --git a/src/modules/rlm_radius/rlm_radius.h b/src/modules/rlm_radius/rlm_radius.h index f199c19758c..83291b3a625 100644 --- a/src/modules/rlm_radius/rlm_radius.h +++ b/src/modules/rlm_radius/rlm_radius.h @@ -56,6 +56,7 @@ struct rlm_radius_s { void *io_instance; //!< Easy access to the IO instance CONF_SECTION *io_conf; //!< Easy access to the IO config section + fr_time_delta_t response_window; fr_time_delta_t zombie_period; fr_time_delta_t revive_interval;