CRITICAL! NFS/ SQLIPPOOL :~(

Guilherme Franco guilhermefranco at gmail.com
Thu Sep 28 00:33:39 CEST 2006


Hello,

I'm in a situation where I have 2 freeradius servers, working
perfectly with rlm_sql_oracle (the entire AAA is done in Oracle,
except the ippool).

It's not possible to have the same pool configured the same way in the
2 servers, and also It's totally out of question to configure range1
for radius1 and range2 for radius2. I can't create the pool in the
BRAS because of a limitation of itself.

So, another option would be NFS with db files for the ippool module
(which does not work also because of file locks).

The only option that I see is to use SQLIPPOOL, which is not working
for me in Oracle.

I''ve modified sqlippool.conf to suit Oracle's needs and even removed
the 'BEGIN' section from rlm_sqlippool.c and recompiled it (because
oracle does not need BEGIN and it was causing me more problems).

Even then, I'm still not able to use sqlippool!

If sqlippool in oracle does not work, the only option left would be
install postgre in the same machine as oracle (horrible!).

This is the output (without BEGIN):
------------------------------------------------------------------------------
rlm_sql (sql): Reserving sql socket id: 2
radius_xlat:  ''
sqlippool_command: xlat failed.
UPDATE radippool   SET nasipaddress = '', pool_key = 0,
callingstationid = '',   expiry_time = current_timestamp - interval
'1' second(1)   WHERE pool_key = '845414557'
SELECT framedipaddress FROM radippool   WHERE pool_name = 'POOL' AND
expiry_time < current_timestamp AND ROWNUM = 1   ORDER BY (select
username from radippool where username <> ''), (select
callingstationid from radippool where callingstationid <>
'#BRAS-01#this is a description#100#157'), expiry_time   FOR UPDATE
sqlippool_query1: SQL query did not succeed
rlm_sqlippool: ip=[] len=0
radius_xlat:  'COMMIT'
COMMIT
rlm_sqlippool: IP number could not be allocated.
rlm_sql (sql): Released sql socket id: 2
rlm_sql (sql): Processing sql_postauth
radius_xlat:  'test_user'
rlm_sql (sql): sql_set_user escaped user --> 'test_user'
------------------------------------------------------------------------------

The first sqlippool_command: xlat failed. is because I removed the
begin in rlm_sqlippool.c...

This is the output (with BEGIN):
------------------------------------------------------------------------------
rlm_sql (sql): Reserving sql socket id: 2
radius_xlat:  'BEGIN'
BEGIN
rlm_sql_oracle: execute query failed in sql_query: ORA-06550: line 1,
column 5: PLS-00103: Encountered the symbol "end-of-file" when
expecting one of the following:     begin case declare exit for goto
if loop mod null pragma    raise return select update while with <an
identifier>    <a double-quoted delimited-identifier> <a bind
variable> <<    close current delete fetch lock insert open rollback
 savepoint set sql execute commit forall merge pipe
rlm_sql_oracle: OCI_SERVER_NORMAL
sqlippool_command: database query error
UPDATE radippool   SET nasipaddress = '', pool_key = 0,
callingstationid = '',   expiry_time = current_timestamp - interval
'1' second(1)   WHERE pool_key = '845414558'
SELECT framedipaddress FROM radippool   WHERE pool_name = 'POOL' AND
expiry_time < current_timestamp AND ROWNUM = 1   ORDER BY (select
username from radippool where username <> ''), (select
callingstationid from radippool where callingstationid <>
'#BRAS-01#this is a description#100#158'), expiry_time   FOR UPDATE
sqlippool_query1: SQL query did not succeed
rlm_sqlippool: ip=[] len=0
radius_xlat:  'COMMIT'
COMMIT
rlm_sqlippool: IP number could not be allocated.
rlm_sql (sql): Released sql socket id: 2
rlm_sql (sql): Processing sql_postauth
radius_xlat:  'test_user'
rlm_sql (sql): sql_set_user escaped user --> 'test_user'
------------------------------------------------------------------------------

Can anybody help me, please?



More information about the Freeradius-Users mailing list