(RADIATOR) Problem with session database and wireless reauthentication

Roy Badami roy.badami at globalgraphics.com
Mon Jan 10 10:22:50 CST 2005


I have a problem with the session database losing entries for wireless
connections, which I've tracked down to the following code in
handle_request (in Handler.pm)

    if ($p->code eq 'Access-Request')
    {
        # If we lost a Stop for this port, clean up the session database
        $sessdb->delete($original_username, $nas_id, $nas_port, $p,
                        $session_id, $framed_ip_address);
 
        # Issue a denial and bomb out
        return $self->handlerResult($p, $main::REJECT, 'MaxSessions exceeded')
            if (defined $self->{MaxSessions}
                && $sessdb->exceeded($self->{MaxSessions}, $original_username, \
$p));
    }


If a wireless client reauthenticates (either because Odyssey Client is
configured to periodically reauthenticate, or because the user hits
the reauthenticate button) then the above code will delete the session
from the session database in response to the Access-Request.

However reauthentication doesn't send any new accounting requests (at
least with Cisco access points) so the user is not added back to the
session database after successful reauthentication.

At the moment I don't really care about session limits, but I do care
about radwho.pl working.  So as a workaround I think I can safely
comment out the above code.

A proper fix is harder...

  -roy

--
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


More information about the radiator mailing list