Deleting stale session automatically with unlang
Christ Schlacta
lists at aarcane.org
Sat Jan 15 03:45:13 CET 2011
try appending the following snippet to the end of the SQL statement:
; SELECT COUNT(*) col FROM dual WHERE 1=1;
the result is numeric 1 is returned, and the requirement that something must
return is satisfied.
I believe there may be some other statement you can append instead to
"query the result of the last operation", which may be more appropriate, however,
I don't know the exact syntax.
On 1/14/2011 18:02, Bishal Pun wrote:
> Hello Edi,
> Enclosing sql statement inside empty if gives same error:
>
> if(User-Name){
> if("%{sql: UPDATE radacct set
> AcctStopTime=ADDDATE(AcctStartTime,INTERVAL AcctSessionTime SECOND),
> AcctTerminateCause='Clear-Stale Session' WHERE UserName='%{User-Name}'
> and CallingStationId='%{Calling-Station-Id}' and AcctStopTime is NULL}"){
> }
> }
> Sat Jan 15 07:43:33 2011 : Auth: Login OK: [test] (from client nagios
> port 0)
> Sat Jan 15 07:44:47 2011 : Error: rlm_sql_mysql: MYSQL Error: No Fields
> Sat Jan 15 07:44:47 2011 : Error: rlm_sql_mysql: MYSQL error:
> Sat Jan 15 07:44:47 2011 : Info: rlm_sql_mysql: Starting connect to
> MySQL server for #3
> Sat Jan 15 07:44:47 2011 : Error: rlm_sql (sql): failed after re-connect
>
>
> On Fri, Jan 14, 2011 at 6:19 PM, Eddie Stassen <estassen at gmail.com
> <mailto:estassen at gmail.com>> wrote:
>
> On Fri, Jan 14, 2011 at 1:57 PM, Johan Meiring
> <jmeiring at pcservices.co.za <mailto:jmeiring at pcservices.co.za>> wrote:
> > On 2011/01/14 12:50 PM, Bishal Pun wrote:
> >>
> >> Alan,
> >>
> >> While running that command in mysql it clear the session of
> user. But
> >> with
> >> radius unlang it is giving error in radius log.
> >>
> >
> > I might be wrong, but as far as I know rlm_mysql expects
> something to come
> > back from the query.
> >
> > Can't think of a solution though unless rlm_mysql will allow
> somehting like
> >
> > "%{sql: SELECT 1; UPDATE radacct set
> > AcctStopTime=ADDDATE(AcctStartTime,INTERVAL
> > AcctSessionTime SECOND), AcctTerminateCause='Clear-Stale
> Session' WHERE
> > UserName='%{User-Name}' and
> CallingStationId='%{Calling-Station-Id}' and
> > AcctStopTime is null}"
> >
> > --
>
> Enclosing the UPDATE in an empty 'if' works:
>
> if ("%{sql: UPDATE ...}") {
> }
>
> That prevents the rlm_sql_mysql module from looking for returned
> fields.
>
> Eddie
>
> -
> List info/subscribe/unsubscribe? See
> http://www.freeradius.org/list/users.html
>
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list