[RADIATOR] Negative Acct-Delay-Time from proxy RADIUS server
Heikki Vatiainen
hvn at open.com.au
Thu Jan 25 19:13:12 UTC 2018
On 24.01.2018 17:07, Vangelis Kyriakakis wrote:
> I have a RADIUS server which proxies RADIUS requests to another
> RADIUS server (both RADIATOR servers).
> Sometimes I see that the Acct-Delay-Time in the packet that is
> proxied to the final server has a value of -1 and the final server
> interprets this as Acct-Delay-Time = 4294967295.
Looks like the result of converting -1 to an unsigned value.
When radiusd reads a message from a socket it records the message's time
stamp (seconds, microseconds) with call to Time::Hires::gettimeofday().
When it's just about to proxy the message forward, it will get current
seconds with time().
I suspect what you see is caused by rounding time() has to do and HiRes
does not have to, or ntp or some other time synchronisation method
adjusting the clock between the two time keeping events.
I'll see that this gets fixed so that negative adjustment is never
applied, no matter what the incoming Acct-Delay-Time is. This should
ensure that Acct-Delay-Time never steps backwards.
Thanks for reporting this!
Heikki
--
Heikki Vatiainen
hvn at open.com.au
More information about the radiator
mailing list