buffered-sql
Gabriel Blanchard
gabriel at teksavvy.com
Wed Jan 21 03:04:36 CET 2009
I was just trying to implement a buffered-sql server (type detail)
using the FreeBSD port 2.1.3 and it was only passing on the first SQL
query and any consecutive query would be left out.
I found an old thread in the freeradius archive regarding this and you
pointed this out (Alan)
Copy pasting..
> It looks like it isn't noticing that it's finished reading the file.
>
> I would suggest going to line 482 of src/main/detail.c, and adding a
>new line:
>
> data->state = STATE_HEADER;
> if (feof(data->fp) goto cleanup; // added line
> return 0;
>
> If that fixes it, I'll commit it to CVS. if not then the issue is a
> little more complicated.
>
> The good news is that 2.0 now has the skeleton of a regression test
>suite in src/tests. So adding an automated test for this case
should be
>relatively straightforward.
and there was no follow up after it....so I tried it and it appears to
work. Now I realize that your latest GIT isn't the same at all from
what I can see and honestly I don't really have the time to look at
it. Anyway this patch appears to fix the issue on 2.1.3
--- src/main/detail.c 2009-01-20 20:32:05.000000000 -0500
+++ src/main/detail.c 2009-01-20 20:32:27.000000000 -0500
@@ -579,6 +579,7 @@
*/
if (!data->vps) {
data->state = STATE_HEADER;
+ if (feof(data->fp)) goto cleanup;
return 0;
}
Unless someone may think that this will cause an issue, I'll be using
it on my radius servers for now...
-Gabriel
More information about the Freeradius-Devel
mailing list