AFAIK it does not allow to set it to 0:

 

        if (rc_conf_int(rh, "radius_retries") <= 0)

        {

                rc_log(LOG_ERR,"%s: radius_retries <= 0 is illegal", filename);

                return -1;

        }

 

Indeed there’s something not consistent in the logic here.

 

From: freeradius-devel-bounces+alex=jajah.com@lists.freeradius.org [mailto:freeradius-devel-bounces+alex=jajah.com@lists.freeradius.org] On Behalf Of Lewis Adam-VNQM87
Sent: éåí â 18 îàé 2010 22:11
To: freeradius-devel@lists.freeradius.org
Subject: retry mechanism for radius client 1.1.6

 

Looking at the retry handling in rc_send_server() in sendserver.c, it appears that "retries" actually means "tries".

 

Lines 325 to 330:


  /*
   * Timed out waiting for response.  Retry "retry_max" times
   * before giving up.  If retry_max = 0, don't retry at all.
   */
  if (++retries >= retry_max)
  {

 

 

    ...

    return TIMEOUT_RC;
  }

 

After the first time out, retries is pre-incremented to 1 thus being greater than or equal to 0 or 1 (so setting retry_max to 0 or 1 has the same effect).

 

I think the fix is simply to change the line to:

 

  if (retries++ >= retry_max)



This mail was received via Mail-SeCure System.



This mail was sent via Mail-SeCure System.