2.x.x regression: custom SQL queries
Matthew Newton
mcn4 at leicester.ac.uk
Wed Jul 10 17:53:06 CEST 2013
On Wed, Jul 10, 2013 at 04:25:56PM +0100, Phil Mayers wrote:
> This is almost certainly this:
>
> https://github.com/FreeRADIUS/freeradius-server/commit/a00c44328013f0e166636f78badb080037d7e248
My code, but as usual I blame Arran for pulling it into v2 ;-P
> ...which is necessary for the EAP virtual server post-auth/reject
> stuff that was backported.
>
> Probably needs this code converting to use rad_virtual_server:
>
> https://github.com/FreeRADIUS/freeradius-server/blob/v2.x.x/src/main/event.c#L1998
Untested, but at a quick glance it's probably just changing line
1984 in event.c from
fun = rad_authenticate
to
fun = rad_virtual_server
rad_authenticate used to call rad_postauth internally on a
success, but not failure (IIRC it was that way around), and the
failure case was called from event.c - this meant that inner
tunnel fake requests only saw it for one and not both. The new
rad_virtual_server just makes sure it's called for both, and the
"if accept {postauth}" code got pulled from rad_authenticate.
There's probably no reason why rad_virtual_server can't be
substituted wherever rad_authenticate appears, and then
rad_postauth pulled out from anywhere else it's hiding
(essentially just removing event.c:2453 and event.c:2478-2480).
That should tidy it up a bit, and make things more consistent.
I think this was all tidied and fixed in 3.0, but I can't remember
off the top of my head.
Matthew
--
Matthew Newton, Ph.D. <mcn4 at le.ac.uk>
Systems Specialist, Infrastructure Services,
I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom
For IT help contact helpdesk extn. 2253, <ithelp at le.ac.uk>
More information about the Freeradius-Devel
mailing list