Any ideas as to how to get FR to dynamically learn the 0.0.0.0/1 without complaining it's a duplicate of 0.0.0.0/0? Or might this be considered a bug...?
It is in fact a bug, yes. The config parser accepts '*' for ip addresses, to allow binding to wildcard addresses. When it gets a wildcard, it sets the IP address to INADDR_ANY usually 0.0.0.0. It also sets the prefix for the ip address to be /32 or /128 (ipv6), which of course defeats the purpose of a wildcard. There was code in the client_add function to fix that up, so when it got an INADDR_ANY value, it'd set the prefix to 0. It should have also been checking that the prefix was /32 (ipv4) or /128 (ipv6) before modifying it. I've pushed a fix. Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS development team FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2