Framed-IP-Address accounted in Hex
Graeme Hinchliffe
graeme.hinchliffe at zeninternet.co.uk
Tue Jul 11 12:51:59 CEST 2006
On 7 Jul 2006, at 17:46, Alan DeKok wrote:
>> Are dictionaries loaded each time a child is started? or just once
>> and then kept in memory?
>
> The server doesn't start any children. The dictionaries are loaded
> once, and cached as long as it's running.
Hi,
Have been digging through the source for FreeRADIUS 1.1.2. As I am
understanding it from my quick dig through. value_pair defaults to
octets as the datatype for a given attribute, this is then looked up
a bit further on and set to the correct type via the dictionary.
Dict.c refers to a function in lib/hash.c and at the top of this
source file is the line :
"Non-thread-safe split-ordered hash table"
Is there a chance that on a fast loaded box that threads are
accessing the dictionary index which is being dynamically modified
(it would appear) and using non-valid memory for their lookup ?
resulting in the value being kept as octet and the symptoms we are
seeing?
The most common under heavy load was session ID but we are still
seeing the IP address being set as a hex value also, these cases have
only been spotted due to the error logging of postgres or the errors
it has generated in sub-systems working on the accounting data.
I have reduced the number of updates per hour and these problems have
almost completely vanished.
Thanks
Graeme
More information about the Freeradius-Users
mailing list