Phil Mayers wrote:
Just a quick note - I'm not sure the home server "status" is working properly in the new code; I'm getting:
# radmin -d /etc/raddb3 -n eduroam -e 'show home_server list' 194.82.174.185 1812 udp auth unknown 0
Yup. If it isn't actively replying to packets, the status is unknown. You'll need to look at the "last packet" timestamp to know more.
...even though the servers are up and responding to packets. Same over the RADIUS-based stats interface (minor related note - the "FreeRADIUS-Stats-Server-State" attribute is missing a definition for value "3" i.e. "Unknown")
Fixed, thanks.
I think it might be the logic in process.c:remove_from_proxy_hash_nl - that function seems to set the state to "UNKNOWN" if there are zero outstanding packets, which I guess is not right?
It's right. It was the only way to solve the weird logic and inconsistencies in handling home servers. I could go poke command.c so that it *reports* "alive" if the state is "unknown" AND if the "last packet" was within the last 30 seconds. But the logic in the server core shouldn't change. The new code is understandable, and working. Alan DeKok.