tnt@kalik.co.yu wrote:
Check the attribute format. InetAddr shouldn't be doing that.
It's Microsoft. ...
I'm assigning these ip addresses in Active Directory through msRadiusFramedIPAdrress attribute. Users with static ip address of 85.X are getting their static ip addresses, but not users in 192.X range. (they get 255.255.255.255) After digging for a while I noticed I could assigned ip addresses up to 127.255.255.255 and get the ip assigned. Right after 128.0.0.0 the static ip will not get assigned to the user. Apparently the 4 byte integer in the active directory for msRadiusFramedIPAddress is being treated as a signed integer, so anything more then 127.255.255.255 is treated as a negative value and an invalid value.
i.e. When FreeRADIUS queries the Microsoft software for the IP address, it doesn't get "1.2.3.4". It sometimes gets "123456789", and it sometimes gets "-345567890". Unix systems can deal with IP addresses. They can treat large hex or decimal numbers as IP addresses. But they draw the line at negative numbers.
Is there a setting to treat this 4 byte as an unsigned integer? A setting? Or this is a bug? Thank you in advance,
It's a bug in the Microsoft software.
And thank you for this great software :)
Thanks. Alan DeKok.