"victor" <[EMAIL PROTECTED]> wrote:
> I've found out the problem with the garbage in row[0] and row[1] (in
> rlm_sql). Actually when radius server wakes up in 6 sec row[1] is ok for the
> next request (as is for the first one).
> I've noticed also that this two variables get polluted when
> (inst->module->sql_finish_select_query)(sqlsocket, inst->config) is executed
> just after the fetch.
That's bad. It looks like the
> Now can somebody tell me is there a problem here?
I think so, yes. Take a look at the difference between the mysql &&
oracle code.
The Oracle function: sql_finish_query() calls sql_free_result().
The MySQL function doesn't.
The Oracle function sql_finish_select_query() free's the results
again, in it's own weird way.
My suggestion: in sql_oracle.c, change the code to:
-----
int sql_finish_query(SQLSOCK *sqlsocket, SQL_CONFIG *config) {
return 0;
}
int sql_finish_select_query(SQLSOCK *sqlsocket, SQL_CONFIG *config) {
sql_free_result(sqlsocket, config);
return 0;
}
-----
This makes it behave more like the MySQL function. If that solves
the problem, I'll commit the changes.
Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html