(RADIATOR) Session Handling...
Hugh Irvine
hugh at open.com.au
Fri Apr 22 04:13:00 CDT 2005
Hello Richard -
You can redefine the queries in the SessionDatabase SQL clause to use
any attributes that are available. You are not limited to only the %0,
%1, etc. - you can use any attributes by specifying them thus:
%{Any-Attribute}. See the examples in section 6.8 in the Radiator 3.12
reference manual ("doc/ref.html").
The reason for the current behaviour regarding SNMP errors is to fail
gracefully - ie. not to deny access in "degraded" operation. The theory
being that it is better to err towards providing service rather than
denying service. I will forward your mail to Mike however so he can
think about your points.
regards
Hugh
On 22 Apr 2005, at 18:40, Rickard Ekeroth wrote:
>
> Hello!
>
> I am having some thoughts about session handling in Radiator.
>
> I am using not only 'NASIPAddress', 'NASPort' and 'AcctSessionId' to
> identify a session but also 'NASPortId' and 'Class'.
>
> The reason for this is that we have some NASes that do not even report
> a
> 'NASPort' (nor an initial 'AcctSessionId') but they do return the
> 'Class'
> attribute so we use that.
>
> I have just started to look into using SNMP to query some NASes about
> the
> session count. I have found two problems that I want to tell you about.
>
> The first one is the fact that when the 'DeleteQuery' is called
> because a
> session is found not to be online only 'NASIPAddress', 'NASPort' and
> 'AcctSessionId' have replacement characters. This creates me some
> problems
> since I am supplying 'Class' and 'NASPortId' from the current package
> aswell. On access request I am adding the 'Class' attribute to the
> current
> package in the 'AuthSelect' in my 'AuthBy SQL' clause, which happenes
> before
> the sessions are counted and any potential delete happens because of
> any NAS
> SNMP query. That 'Class' attribute is then used in preference over
> 'NASIPAddress' and 'NASPort' in my session delete stored procedure
> since I
> know that all my 'Class' attributes are globally unique (GUID). I have
> been
> able to fix it by supplying the 'AcctStatusType' attribute to the
> 'DeleteQuery' aswell and by examining if it is 'Stop' or empty I can
> decide
> if I should use the 'Class' attribute or not.
>
> Would it be possible to allow for the 'Class' and 'NASPortId' attribute
> columns to be added to the output of the 'CountQuery' and have them
> consumed
> and replaced with e.g. '%4' and '%5' on the 'DeleteQuery'? This would
> help
> me to provide a cleaner solution.
>
> The other is about the behaviour of Radiator when there is an 'snmpget'
> error. If there is an error in getting session info from a NAS the
> immediate
> result is to assume that the session in question is NOT online.
> However in
> the subsequent attempts (while there is a backoff period of 60
> seconds) the
> assumption is the reverse, i.e. that the session is still on the NAS.
> In my
> mind it is not correct to assume that the session is gone just because
> I can
> not contact the NAS. The answer to that question is actually undefined
> in
> that case. I think that the behaviour is correct during the backoff
> period
> but not with the initial error. I would prefer not to have my session
> table
> modified because of an undefined answer. Is there a way that I can
> control
> this behaviour with some kind of configuration?
>
> Thank you for your attention and have a nice day!
>
>
> Regards,
>
> Rickard Ekeroth @ SpiderNet
> Software Developer / Analyst
> rickard at spidernet.net
> +35722844870
>
> --
> 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 read the reference manual ("doc/ref.html")?
Have you searched the mailing list archive
(www.open.com.au/archives/radiator)?
Have you had a quick look on Google (www.google.com)?
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, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.
-
CATool: Private Certificate Authority for Unix and Unix-like systems.
--
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