Hi all.

I manage the RADIUS system.
It consists of redhat9, freeradius0.9.1 and MS-SQL|mySQL.
The system are organized redundantly. Account information is doubled 
by radrelay.

I stopped temporarily the redundant server of them for maintenance 
on the other day. Account packets during it was stored in detail-combined 
file on the living server exactly. 
However, after the maintenance finished and the redundant server 
was restarted, I have noticed a lot of packets which are not in the 
detail-combined file relayed. It continued till the next day. And 
there was no sign of converging. 
The packet sample at that time are shown below.

Sat Oct  4 00:00:06 2003
        Acct-Delay-Time = 103537
        NAS-IP-Address = 10.0.240.243
        Client-IP-Address = 10.0.240.243
        Acct-Unique-Session-Id = "9568c0490b1942fa"
        Timestamp = 1065193206

Sat Oct  4 00:00:09 2003
        Acct-Delay-Time = 103540
        NAS-IP-Address = 10.0.240.243
        Client-IP-Address = 10.0.240.243
        Acct-Unique-Session-Id = "9568c0490b1942fa"
        Timestamp = 1065193209

Sat Oct  4 00:00:12 2003
        Acct-Delay-Time = 103543
        NAS-IP-Address = 10.0.240.243
        Client-IP-Address = 10.0.240.243
        Acct-Unique-Session-Id = "9568c0490b1942fa"
        Timestamp = 1065193212

Since freeradius0.9.*, radrelay detects the delay of relay and 
create the packet which corrects account time. That like above 
samples.
rlm_sql considers that it is invalid because User-Name and 
NAS-IP-Address are not contained in, so radiusd and radrelay 
relay again.  The infinite loop is formed.

This problem should be solved by adding the function of account time 
correction to rlm_sql. 
I am doing the emergency measure. I change rlm_sql.c(line 718) like 
"return RLM_MODULE_OK".
Fortunately "detail-combined" became empty.

--K.Omori

- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to