(RADIATOR) Issue with Duplicate Key when Adding a Session

Bon sy bon at bunny.cs.qc.edu
Fri Jul 25 09:52:32 CDT 2003


Pual and Hugh,

	We initially have the same problem as Hugh described; i.e., a
situation with duplicate NAS-Identifier + NAS-port. The way to get around
is to generate a session id based on NAS-Identifier + NAS-port +
<DATE:HH24-MI-SS>. This should guarantee uniqueness unless you get
multiple requests within a second. In that case, just drill down to
milli-second or whatever "time resolution" permissible. Matching a
"stop" request will then be based on the most recent open "start". Open
"start" is defined as no matching "stop" accoutning record. 

Bon


On Fri, 25 Jul 2003, Hugh Irvine wrote:

> 
> 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.
> 

===
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