Hi Mike,
I got a problem when running multiple instances of Radiator with
external Database, Oracle, to enforce Simultaneous-Use limits. The
problem only exist when "Fork" is used in the config.
For environment, the Radiator runs in a Solaris machine with Oracle
sqlnet to access the Oracle serve. The sid and tables are created in the
Oracle server without problem. The Perl module DBI-1.11 and
DBD-Oracle-1.02 are installed. The version of Oracle is 8.0.5. The
config files are as follow:
# radius.cfg
.
.
.
<Realm DEFAULT>
<AuthBy FILE>
Filename /usr/local/etc/config
# Fork
</AuthBy>
AcctLogFileName %L/detail
</Realm>
<Realm defaultrealm>
<AuthBy SYSTEM>
UseGetspnam
Identifier System
DefaultReply Service-Type = Framed,\
Framed-Protocol = PPP
</AuthBy>
</Realm>
<SessionDatabase SQL>
DBSource dbi:Oracle:radius
DBUsername userid
DBAuth password
</SessionDatabase>
#config
DEFAULT
Auth-Type=System,Group=g1,NAS-IP-Address=206.161.55.24,Simultaneous-Use=1
DEFAULT
Auth-Type=System,Group=g2,NAS-IP-Address=206.161.55.24,Simultaneous-Use=1
DEFAULT
Auth-Type=System,Group=g3,NAS-IP-Address=206.161.55.24,Simultaneous-Use=1
The configuration above has no problem without the "Fork".
However, when I put back the keyword "Fork", I would get the following
error messages inside the xterm which start the Radiator:
DBD::Oracle::db do failed: ORA-03113: end-of-file on communication
channel (DBD ERROR: OCIStmtExecute) at
/usr/local/lib/perl5/site_perl/Radius/SqlDb.pm line 230.
DBD::Oracle::db disconnect failed: ORA-12545: Connect failed because
target host or object does not exist (DBD ERROR: OCISessionEnd) at
/usr/local/lib/perl5/site_perl/Radius/SqlDb.pm line 244.
The above message would print continuously when a new user is getting
connected.
The logfile with trace 4 has the following message:
*** Received from 206.161.55.24 port 33100 ....
Code: Access-Request
Identifier: 183
Authentic: 1234567890123456
Attributes:
User-Name = "t1c"
Service-Type = Framed-User
NAS-IP-Address = 206.161.55.24
NAS-Port = 1234
NAS-Port-Type = Async
Framed-IP-Address = 206.161.55.24
User-Password =
""<132>w<184><228>{<198><170>os<163><211><214><4><211><219>"
Fri Jul 9 13:53:58 1999: DEBUG: Handling request with Handler
'Realm=DEFAULT'
Fri Jul 9 13:53:58 1999: DEBUG: Handling with Radius::AuthFILE
Fri Jul 9 13:53:58 1999: DEBUG: Radius::AuthFILE looks for match with
t1c
Fri Jul 9 13:53:58 1999: DEBUG: Radius::AuthFILE looks for match with
DEFAULT
Fri Jul 9 13:53:58 1999: DEBUG: Handling with Radius::AuthSYSTEM
Fri Jul 9 13:53:58 1999: DEBUG: getpwnam got t1c, ZJgPkhMU6EVy., 62360,
111, , , Test Account, /export/home/t1c, /usr/bin/ksh
Fri Jul 9 13:53:58 1999: DEBUG: Radius::AuthSYSTEM looks for match with
t1c
Fri Jul 9 13:53:58 1999: DEBUG: Query is: select NASIDENTIFIER,
NASPORT, ACCTSESSIONID from RADONLINE where USERNAME='t1c'
Fri Jul 9 13:53:58 1999: DEBUG: Radius::AuthSYSTEM ACCEPT:
Fri Jul 9 13:53:58 1999: DEBUG: Radius::AuthFILE ACCEPT:
Fri Jul 9 13:53:58 1999: DEBUG: Access accepted for t1c
Fri Jul 9 13:53:58 1999: DEBUG: Packet dump:
*** Sending to 206.161.55.24 port 33100 ....
Code: Access-Accept
Identifier: 183
Authentic: 1234567890123456
Attributes:
Service-Type = Framed
Framed-Protocol = PPP
Fri Jul 9 13:53:58 1999: DEBUG: Packet dump:
*** Received from 206.161.55.24 port 33100 ....
Code: Accounting-Request
Identifier: 184
Authentic:
<236><202><156><0><203><203><31>S<6><31><200>T<253>><239><182>
Attributes:
User-Name = "t1c"
Service-Type = Framed-User
NAS-IP-Address = 206.161.55.24
NAS-Port = 1234
NAS-Port-Type = Async
Acct-Session-Id = "1"
Acct-Status-Type = Start
Framed-IP-Address = 206.161.55.24
Fri Jul 9 13:53:58 1999: DEBUG: Handling request with Handler
'Realm=DEFAULT'
Fri Jul 9 13:53:58 1999: DEBUG: Handling with Radius::AuthFILE
Fri Jul 9 13:53:58 1999: DEBUG: Accounting accepted
Fri Jul 9 13:53:58 1999: DEBUG: Packet dump:
*** Sending to 206.161.55.24 port 33100 ....
Code: Accounting-Response
Identifier: 184
Authentic:
<236><202><156><0><203><203><31>S<6><31><200>T<253>><239><182>
Attributes:
Fri Jul 9 13:53:58 1999: DEBUG: Adding session for t1c, 206.161.55.24,
1234
Fri Jul 9 13:53:58 1999: DEBUG: do query is: delete from RADONLINE
where NASIDENTIFIER='206.161.55.24' and NASPORT=1234
Fri Jul 9 13:53:58 1999: DEBUG: do query is: insert into RADONLINE
(USERNAME, NASIDENTIFIER, NASPORT, ACCTSESSIONID, TIME_STAMP,
FRAMEDIPADDRESS, NASPORTTYPE, SERVICETYPE) values ('t1c',
'206.161.55.24', 1234, '1', 931499638, '206.161.55.24', 'Async',
'Framed-User')
Fri Jul 9 13:53:58 1999: DEBUG: Packet dump:
*** Received from 206.161.55.24 port 33100 ....
Code: Accounting-Request
Identifier: 185
Authentic:
<22><200><241><178><140>*<145><3><174><175><230><147>0<235><224><226>
Attributes:
User-Name = "t1c"
Service-Type = Framed-User
NAS-IP-Address = 206.161.55.24
NAS-Port = 1234
NAS-Port-Type = Async
Acct-Session-Id = "1"
Acct-Status-Type = Stop
Framed-IP-Address = 206.161.55.24
Acct-Delay-Time = 0
Acct-Session-Time = 1000
Acct-Input-Octets = 20000
Acct-Output-Octets = 30000
Fri Jul 9 13:53:58 1999: DEBUG: Handling request with Handler
'Realm=DEFAULT'
Fri Jul 9 13:53:58 1999: DEBUG: Handling with Radius::AuthFILE
Fri Jul 9 13:53:58 1999: DEBUG: Accounting accepted
Fri Jul 9 13:53:58 1999: DEBUG: Packet dump:
*** Sending to 206.161.55.24 port 33100 ....
Code: Accounting-Response
Identifier: 185
Authentic:
<22><200><241><178><140>*<145><3><174><175><230><147>0<235><224><226>
Attributes:
Fri Jul 9 13:53:58 1999: DEBUG: Child reaped
Fri Jul 9 13:53:58 1999: DEBUG: Deleting session for t1c,
206.161.55.24, 1234
Fri Jul 9 13:53:58 1999: DEBUG: do query is: delete from RADONLINE
where NASIDENTIFIER='206.161.55.24' and NASPORT=1234
Fri Jul 9 13:53:58 1999: DEBUG: Child reaped
Fri Jul 9 13:53:58 1999: ERR: do failed for 'delete from RADONLINE
where NASIDENTIFIER='206.161.55.24' and NASPORT=1234': ORA-03113:
end-of-file on communication channel (DBD ERROR: OCIStmtExecute)
Fri Jul 9 13:53:58 1999: DEBUG: Child reaped
Fri Jul 9 13:53:58 1999: DEBUG: Child reaped
Fri Jul 9 13:53:58 1999: DEBUG: Child reaped
Fri Jul 9 13:59:11 1999: DEBUG: Reading users file
/usr/local/etc/config
Fri Jul 9 13:59:12 1999: INFO: Server started
Fri Jul 9 13:59:30 1999: DEBUG: Packet dump:
Then, the Radiator stop to enforce Simultaneous-Use limits. When I start
the Sqlplus and query the database table radonline, nothing is inside
the table even a user still login.
--
Cheers,
Anthony Chan
Sun Professional Services Hong Kong
22/F Shui On Centre,
8 Harbour Road, Wanchai,
Hong Kong
Phone: (852) 2820-0674
Fax : (852) 2802-8655
===
Archive at http://www.thesite.com.au/~radiator/
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.