Pshem Kowalczyk wrote:
As I said - my C skills are not very good. From my understanding - freeradius can't see that it got to the end of the .work file and it's time to close it and move on.
Why? That line of code checks if it's at the end of the file.
At this stage the .work file is still there, even after the packet from it was read already.
All I can suggest is the use of gdb to find out what's going on.
After somewhat more debugging it looks like to problem only exists if the detail or detail.work files exist prior to starting freeradius. If I start with clean slate - everything works as expected.
All I can say is that it works for me in all of those test cases. Please check that you've actually updated the source. The debug log you posted did NOT include the new debug messages I added as part of this fix. This suggests that you are NOT using the fix in your tests. Alan DeKok.