Problem using Freeradius with Oracle [sec=unclassified]

Ranner, Frank MR Frank.Ranner at defence.gov.au
Mon Dec 17 03:24:31 CET 2007


> -----Original Message-----
> From: 
> freeradius-users-bounces+frank.ranner=defence.gov.au at lists.fre
> eradius.org 
> [mailto:freeradius-users-bounces+frank.ranner=defence.gov.au at l
> ists.freeradius.org] On Behalf Of Mother
> Sent: Sunday, 16 December 2007 06:28
> To: freeradius-users at lists.freeradius.org
> Subject: Problem using Freeradius with Oracle
> 
> Hi all,
> 
> My setup is FreeBSD 6.2, with Freeradius 1.1.7 installed 
> using Ports (I had to hack the configure so it would be built 
> with Oracle, as there is no option in the Ports make, but I 
> digress...).
> 
> I have everything working now, but when the accounting stop 
> message is received, the SQL call causes Oracle to balk. The 
> call (with non-relevant portions removed) is:
> 
> UPDATE radacct SET ... AcctInputOctets = '0'  << 32 | '0', 
> AcctOutputOctets = '0' << 32 | '0', ... WHERE ...
> 
> Now, Acc[input/output]Octets as I see in oraclesql.conf is 
> derived like
> this:
> 
> AcctInputOctets = '%{%{Acct-Input-Gigawords}:-0}'  << 32 | 
> '%{%{Acct-Input-Octets}:-0}'
> 
> So it seems (AFAIK) that it's attempting to bit-shift the 
> Gigawords and Octets received from the NAS.
> 

Oracle doesn't seem to do bit shift. You can multiply by 2^32 instead.

AcctInputOctets = '%{%{Acct-Input-Gigawords}:-0}' * 4294967296 +
'%{%{Acct-Input-Octets}:-0}'

Oracle supports up to 38 digit numbers.

Regards
Frank Ranner




More information about the Freeradius-Users mailing list