On 01/03/2014 01:32 PM, Hartmaier Alexander wrote:

> we had the issue that our Radiator process was running but the TACACS
> socket on port 49 wasn't listening.
> It turned out that a restart caused this because either debians
> start-stop-daemon or the init script doesn't wait until the process is
> really gone and Radiator is started while the old process still has the
> socket open.
> A quick fix is a sleep 1; between stop and start in restart but I find
> that ugly.
> Do you have a better suggestion?

The current version of init.d script uses '--retry 6' option with
start-stop-daemon. The start-stop-daemon manual says about --retry and
single option (timeout):

   If timeout is specified instead of schedule, then the schedule
   signal/timeout/KILL/timeout is used, where signal is  the  signal
   specified with --signal.

Default --signal is TERM. So the current init.d script should instruct
start-stop-daemon to go as far as this (it should poll and exit as soon
as the program exits):

   kill -TERM $pid; sleep 6; kill -KILL $pid; sleep 6

Does your script use --retry option? I'd think --retry should take care
of the problem.

> Radiator logged 'ERR: Could not bind Server TACACSPLUS socket: Address
> already in use' to its logfile but still started, I'd suggest that such
> a fatal startup error results in Radiator dieing with this error message.
> 
> What do you thing about that change?

It sounds reasonable. I'll check about patching this.

Thanks,
Heikki

-- 
Heikki Vatiainen <[email protected]>

Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS,
NetWare etc.
_______________________________________________
radiator mailing list
[email protected]
http://www.open.com.au/mailman/listinfo/radiator

Reply via email to