All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
rlm_eap.h File Reference
#include <freeradius-devel/modpriv.h>
#include <freeradius-devel/state.h>
#include "eap.h"
#include "eap_types.h"
+ Include dependency graph for rlm_eap.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  eap_module
 
struct  rlm_eap
 

Macros

#define pthread_mutex_destroy(_x)
 
#define pthread_mutex_init(_x, _y)
 
#define pthread_mutex_lock(_x)
 
#define pthread_mutex_unlock(_x)
 

Typedefs

typedef struct eap_module eap_module_t
 
typedef struct rlm_eap rlm_eap_t
 

Functions

rlm_rcode_t eap_compose (eap_session_t *eap_session) CC_HINT(nonnull)
 
void eap_fail (eap_session_t *eap_session) CC_HINT(nonnull)
 
eap_rcode_t eap_method_select (rlm_eap_t *inst, eap_session_t *eap_session)
 Select the correct callback based on a response. More...
 
int eap_module_instantiate (rlm_eap_t *inst, eap_module_t **method, eap_type_t num, CONF_SECTION *cs)
 Load required EAP sub-modules (methods) More...
 
eap_round_teap_round_alloc (eap_session_t *eap_session)
 
eap_session_teap_session_alloc (rlm_eap_t *inst, REQUEST *request)
 Allocate a new eap_session_t. More...
 
eap_session_teap_session_get (rlm_eap_t *inst, eap_packet_raw_t **eap_msg, REQUEST *request) CC_HINT(nonnull)
 
int eap_start (rlm_eap_t *inst, REQUEST *request) CC_HINT(nonnull)
 
void eap_success (eap_session_t *eap_session) CC_HINT(nonnull)
 

Data Structure Documentation

struct eap_module

Definition at line 37 of file rlm_eap.h.

+ Collaboration diagram for eap_module:
Data Fields
CONF_SECTION * cs
lt_dlhandle handle
void * instance
char const * name
rlm_eap_module_t * type
struct rlm_eap

Definition at line 51 of file rlm_eap.h.

+ Collaboration diagram for rlm_eap:
Data Fields
eap_type_t default_method
char const * default_method_name
bool ignore_unknown_types
eap_module_t * methods[PW_EAP_MAX_TYPES]
bool mod_accounting_username_bug
fr_randctx rand_pool
char const * xlat_name

Macro Definition Documentation

#define pthread_mutex_destroy (   _x)

Definition at line 76 of file rlm_eap.h.

#define pthread_mutex_init (   _x,
  _y 
)

Definition at line 75 of file rlm_eap.h.

#define pthread_mutex_lock (   _x)

Definition at line 77 of file rlm_eap.h.

#define pthread_mutex_unlock (   _x)

Definition at line 78 of file rlm_eap.h.

Typedef Documentation

typedef struct eap_module eap_module_t
typedef struct rlm_eap rlm_eap_t

Function Documentation

rlm_rcode_t eap_compose ( eap_session_t eap_session)

Definition at line 445 of file eap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void eap_fail ( eap_session_t eap_session)

Definition at line 850 of file eap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

eap_rcode_t eap_method_select ( rlm_eap_t inst,
eap_session_t eap_session 
)

Select the correct callback based on a response.

Based on the EAP response from the supplicant, call the appropriate method callback.

Default to the configured EAP-Type for all Unsupported EAP-Types.

Parameters
instConfiguration data for this instance of rlm_eap.
eap_sessionState data that persists over multiple rounds of EAP.
Returns
a status code.

Definition at line 317 of file eap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int eap_module_instantiate ( rlm_eap_t inst,
eap_module_t **  m_inst,
eap_type_t  num,
CONF_SECTION cs 
)

Load required EAP sub-modules (methods)

Definition at line 96 of file eap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

eap_round_t* eap_round_alloc ( eap_session_t eap_session)

Definition at line 32 of file mem.c.

+ Here is the caller graph for this function:

eap_session_t* eap_session_alloc ( rlm_eap_t inst,
REQUEST request 
)

Allocate a new eap_session_t.

Allocates a new eap_session_t, and inserts it into the REQUEST_DATA_EAP_SESSION index of the request.

Note
The eap_session_t will remove itself from the REQUEST_DATA_EAP_SESSION index if it is freed. This is to simplify management of the request data entry.
Parameters
instThis session belongs to.
requestThat generated this eap_session_t.
Returns

Definition at line 107 of file mem.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

eap_session_t* eap_session_get ( rlm_eap_t inst,
eap_packet_raw_t **  eap_msg,
REQUEST request 
)

Definition at line 1069 of file eap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int eap_start ( rlm_eap_t inst,
REQUEST request 
)

Definition at line 608 of file eap.c.

+ Here is the call graph for this function:

void eap_success ( eap_session_t eap_session)

Definition at line 868 of file eap.c.

+ Here is the call graph for this function: