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