From: Alan T. DeKok Date: Thu, 23 May 2024 11:46:04 +0000 (-0400) Subject: if retries are 1, timeout is IRT, not MRD X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90293ef1826840c20ae245b4127c77f689fa82cd;p=thirdparty%2Ffreeradius-server.git if retries are 1, timeout is IRT, not MRD --- diff --git a/src/bin/radclient-ng.c b/src/bin/radclient-ng.c index 06e531d3a79..e4363a73016 100644 --- a/src/bin/radclient-ng.c +++ b/src/bin/radclient-ng.c @@ -949,10 +949,8 @@ static void cleanup(fr_bio_packet_t *client, rc_request_t *request) /* * We're done all packets, and there's nothing more to read, stop. - * - * @todo - find a way to make this zero! */ - if (fr_radius_client_bio_outstanding(client) <= 1) { + if (fr_radius_client_bio_outstanding(client) == 0) { fr_assert(client_config.retry_cfg.el != NULL); fr_event_loop_exit(client_config.retry_cfg.el, 1); @@ -1582,7 +1580,7 @@ int main(int argc, char **argv) client_config.retry[packet_code] = (fr_retry_config_t) { .irt = timeout, .mrt = fr_time_delta_from_sec(16), - .mrd = fr_time_delta_from_sec(30), + .mrd = (retries == 1) ? timeout : fr_time_delta_from_sec(30), .mrc = retries, }; client_config.retry_cfg.retry_config = client_config.retry[packet_code];