hostapd/src/radius
Ethan Everett 22319c7fed RADIUS client: fix extra retry before failover
This commit changes the failover behavior of RADIUS client. Commit
27ebadccfb ("RADIUS client: Cease endless retry for message for
multiple servers") changed the retry logic, causing RADIUS client to
wait RADIUS_CLIENT_NUM_FAILOVER + 1 timeouts before failing over the
first time. Prior to that commit, RADIUS client would wait
RADIUS_CLIENT_NUM_FAILOVER timeouts before each failover. This was
caused by moving the entry->attempts > RADIUS_CLIENT_NUM_FAILOVER
comparison to before the retry attempt, where entry->attempts is
incremented.

The commit in question set entry->attempts in radius_change_server to 1
instead of 0, so RADIUS client would still only wait
RADIUS_CLIENT_NUM_FAILOVER timeouts for subsequent failovers, the same
as the original behavior.

This commit changes the comparison so the initial failover now happens
after waiting RADIUS_CLIENT_NUM_FAILOVER timeouts, as it did originally.
It also changes the RADIUS_CLIENT_MAX_FAILOVER comparison to prevent an
additional attempt to the primary server after the final failover.

Signed-off-by: Ethan Everett <ethan.everett@meraki.net>
2019-12-30 19:13:51 +02:00
..
.gitignore Add build rules for src/radius/libradius.a 2009-12-24 11:59:08 +02:00
Makefile tests: Add ap-mgmt-fuzzer 2015-04-22 11:44:19 +03:00
radius.c RADIUS: Add WLAN-Reason-Code attribute to Access-Reject 2018-01-12 20:45:12 +02:00
radius.h HS 2.0: Move Terms and Conditions Server URL generation from AP to AS 2018-06-21 20:50:54 +03:00
radius_client.c RADIUS client: fix extra retry before failover 2019-12-30 19:13:51 +02:00
radius_client.h RADIUS: Update full message for interim accounting updates 2016-02-29 11:52:16 +02:00
radius_das.c RADIUS: Allow 0.0.0.0 to be used as wildard radius_das_client 2018-06-22 19:37:18 +03:00
radius_das.h HS 2.0: CoA-Request processing for Terms and Conditions filtering 2018-04-25 12:57:46 +03:00
radius_server.c RADIUS server: Abort startup on allocation failures 2019-08-20 02:57:58 +03:00
radius_server.h RADIUS server: Use struct eap_config to avoid duplicated definitions 2019-08-20 02:33:12 +03:00