Access RADIUS Attributes via ctrl interface?

Michael Baird Michael.Baird at ecs.vuw.ac.nz
Mon Sep 25 11:30:14 PDT 2017


Thank you Jouni & Alan, at this stage just the Access-Accept.

At the moment I have added a configuration option (runtime) to specify 
which fields (from Access-Accept) should be stored. The code will be 
compile time.


Couple of implementation questions.
Would the struct 'sta_info' (ap/sta_info.h) be the correct place for 
storing this data?

And returning via ctrl interface with "ieee802_1x_get_mib_sta" 
(ap/ieee802_1x.c), or a different command?


Thanks,
Michael.

On 26/09/17 06:53, Alan DeKok wrote:
> On Sep 25, 2017, at 1:45 PM, Jouni Malinen <j at w1.fi> wrote:
>> I guess it would be reasonable to add option to save such information
>> for the duration of an association. That said, this can use quite a bit
>> of memory, so it probably make sense to make this configurable behaviour.
>    My $0.02 here would be just to cache the raw attributes from the Access-Accept.
>
> * skip the RADIUS header (20 bytes)
> * skip the various MPPE keys (~40 bytes each)
> * skip EAP-Message (4 bytes for Success)
> * skip Message-Authenticator (18 bytes)
>
>    The rest of the data will be small, typically ~100 bytes or so.  If the RADIUS server is sending lots of filter rules (i.e. 4K), well, tell the administrator to stop doing that.
>
>    If you care, max out the cache at 256 bytes, rounded down to the nearest attribute.  Discard everything after that.  That should cover 99.999% of the sane cases.
>
>> Are you thinking of mainly (only?) information from Access-Accept or
>> would there be need to store attributes from Access-Challenge as well?
>    Access-Challenge packets contain only authentication information, Proxy-State, and State.  PLEASE don't cache them.
>
>    I've seen people do all kinds of crazy things with Access-Challenge.   The less they're allowed to do that, the better.
>
>    Alan DeKok.
>
>




More information about the Hostap mailing list