(RADIATOR) Issue with Duplicate Key when Adding a Session

Hugh Irvine hugh at open.com.au
Thu Jul 24 23:56:11 CDT 2003


Hello Paul -

The error is a MySQL error which is complaining about a duplicate entry  
for a unique key.

The unique key for the RADONLINE table is the combination of the  
NAS-Identifier and NAS-Port which is what Radiator bases its session  
database and simultaneous use checking on - the assumption being that  
there are unique ports on each NAS.

The theory behind Radiator's use of the session database is that every  
NAS is uniquely identified by the NAS-Identifier and every port on  
every NAS is also uniquely identified by the NAS-Port attribute. When  
Radiator receives an access request, it performs a delete on the  
session database using the NAS-Identifier and NAS-Port combination as  
preventative maintenance in case we have missed an accounting stop for  
the port in question. When Radiator receives an accounting start a new  
record is inserted into the session database and when an accounting  
stop is received the record is removed.

Obviously if in your situation the NAS-Identifier + NAS-Port  
combination is not unique, you will have a problem with the session  
database (and it will be impossible to enforce simultaneous use limits).

regards

Hugh


On Friday, Jul 25, 2003, at 11:49 Australia/Melbourne, Paul wrote:

> Hi All,
>
> We are using Radiator 3.6 with latest patches but we are seeing an  
> issue
> when a new session is added. We're getting Duplicate key which appears  
> to be
> coming from the internal handler code rather than MySQL itself. Below  
> is the
> error when it occurs. We've modified our "delete from RADONLINE" query  
> to
> match the details more accurately and we don't appear to be having any
> problems with this, it's just "Adding session for %s" is where it  
> seems to
> go astray.
>
> Thu Jul 24 20:57:37 2003: DEBUG:  Adding session for myuser at hehe.com,
> 1.2.3.4, 6256
>
> Thu Jul 24 20:57:37 2003: DEBUG: do query is: 'delete from RADONLINE  
> where
> NASIDENTIFIER='1.2.3.4' and NASPORT=6256 and ACCTSESSIONID =  
> '00062398'':
>
> Thu Jul 24 20:57:37 2003: DEBUG: do query is: 'INSERT INTO RADONLINE
> (USERNAME, NASIDENTIFIER, ACCTSESSIONID, TIME_STAMP, FRAMEDIPADDRESS,
> NASPORT, NASPORTTYPE, SERVICETYPE, DNIS, PHONENO, SESSIONKEY,
> ACCTSESSIONTIME, INPUTOCTETS, OUTPUTOCTETS, POPID,targetid,  
> DOWNLOADRATE,
> UPLOADRATE, ORIGUSER)
> VALUES('myuser','1.2.3.4','00062398','1059044257','5.6.7.8','6256','Asy 
> nc','
> Framed-User','0312345678','03912345678', '6F419DF2',
> '2185','346903','2410144','61', '15', '45333', '26400',  
> 'myuser at hehe.com')':
>
> Thu Jul 24 20:57:37 2003: ERR: do failed for 'INSERT INTO RADONLINE
> (USERNAME, NASIDENTIFIER, ACCTSESSIONID, TIME_STAMP, FRAMEDIPADDRESS,
> NASPORT, NASPORTTYPE, SERVICETYPE, DNIS, PHONENO, SESSIONKEY,
> ACCTSESSIONTIME, INPUTOCTETS, OUTPUTOCTETS, POPID, targetid,  
> DOWNLOADRATE,
> UPLOADRATE, ORIGUSER)
> VALUES('myuser','1.2.3.4','00062398','1059044257','5.6.7.8','6256','Asy 
> nc','
> Framed-User','0312345678','03912345678', '6F419DF2',
> '2185','346903','2410144','61', '15', '45333', '26400',  
> 'myuser at hehe.com')':
> Duplicate entry '1.2.3.4-6256' for key 1
>
> If you have any ideas that'd be great. Thanks
>
> Regards,
>
> Paul Rivoli
> paul at kbs.net.au
> K B S   I N T E R N E T
>
>
>
> ===
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
>
>

NB: have you included a copy of your configuration file (no secrets),
together with a trace 4 debug showing what is happening?

-- 
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. Available on *NIX, *BSD, Windows 95/98/2000, NT, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.

===
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


More information about the radiator mailing list