Freeradius startup problem
-
I notice the freeradius package is marked "BROKEN". What's broken, exactly? I haven't been able to find any details.
For me it seems to be working properly, except for one nagging issue …
When pfsense boots, radiusd startup seems to hang at "Reloading configuration files". In radius.log there is an interesting "another radius server running" error, then radius claims to be ready to process requests, but then it immediately proceeds to report that it's reloading config files, which seems odd to me:
Fri May 14 12:11:01 2010 : Error: There appears to be another RADIUS server running on the authentication port 1812
Fri May 14 12:11:02 2010 : Info: rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Fri May 14 12:11:02 2010 : Info: Ready to process requests.
Fri May 14 12:11:03 2010 : Info: Reloading configuration files.Any authentication attempts at this point cause radiusd process to hang at ~100%CPU
However, if radiusd is restarted (via "Status" menu -> "Services" -> FreeRADIUS) immediately after bootup, before any authentication requests occur, then radius.log simply reports "Ready to process requests", and authentication subsequently works properly.
pfSense
Version 2.0-BETA1
built on Wed Mar 31 06:47:32 EDT 2010
FreeBSD 8.0-STABLEFreeRADIUS
Version 1.1.8 -
It's possible that this is falling victim to the same problem that several other packages have. On boot, they try to start up multiple times. First, they sync their settings and write out an rc script, and then start themselves. Then later in the boot process, the rc scripts get executed, starting them again. If you have a dynamic WAN (DHCP, PPPoE) sometimes it can happen one more time as the new IP will trigger another package sync.
The package maintainer may need to add some more logic to handle this kind of situation.