Thanks One more question, I need to access another module data structure, for instance I want to retreive the emsk key that the rlm_eap module creates and saves in the eapsim_keys structure, and save in a structure created by my module. Is this possible? Rodolphe Marques Em Fri, 12 Dec 2008 15:30:37 +0100 Alan DeKok <aland@deployingradius.com> escreveu:
RODOLPHE ANTONIO DE ARAUJO MARQUES wrote:
I'm currently developing a new 802.11 authentication and association protocol to achieve fast handovers in 802.11 infrastructured networks. I need to add a new module to freeradius to manage new keys that will be derived during the initial 802.1X authentication.
What I need from freeradius is to add new attributes in the Access-Request and Access-Accept messages and save some data in a new structure for each user.
That should be easy.
I've been looking at the code, and reading the wiki trying to understand how freeradius work, but with no success.
See src/modules/rlm_example for an example module. It uses the internal API to look for, and add, sample attributes.
Can anyone help me getting started by pointing some functions where the freeradius reads and constructs messages, sends and receive and how it choses the authentication method, or any other useful information that may help me achieve my goal?
Don't look at the functions that send/receive messages.
The server is designed so that the modules don't have to understand how it processes RADIUS packets. The server is designed so that the modules don't need to know how authentication methods are chosen.
See the CHAP module for a simple example of a module that looks for certain attributes, and does authentication.
See the MS-CHAP module for a more complicated example of a module that adds attributes to the Access-Accept.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html