The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Data Structures | Functions
module.h File Reference

Declarations for the common module functions used by EAP-SIM/AKA submodules. More...

#include <freeradius-devel/server/cf_util.h>
#include <freeradius-devel/eap/types.h>
#include <freeradius-devel/tls/openssl_user_macros.h>
#include <openssl/evp.h>
+ Include dependency graph for module.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  eap_aka_sim_mod_session_t
 Structure used to track session state at the module level. More...
 
struct  eap_aka_sim_module_conf_t
 
struct  eap_aka_sim_module_conf_t.aka
 Whether we should include a bid-down prevention attribute by default. More...
 

Functions

unlang_action_t eap_aka_sim_process (rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
 Decode EAP session data into attribute. More...
 

Detailed Description

Declarations for the common module functions used by EAP-SIM/AKA submodules.

Id
fa53df2b5926df1d5f71434d61656d7a90800239
Author
Arran Cudbard-Bell (a.cud.nosp@m.bard.nosp@m.b@fre.nosp@m.erad.nosp@m.ius.o.nosp@m.rg)

Definition in file module.h.


Data Structure Documentation

◆ eap_aka_sim_mod_session_t

struct eap_aka_sim_mod_session_t

Structure used to track session state at the module level.

The process module has a similar structure (eap_aka_sim_module_t) which tracks all of the cryptographic parameters for the session.

The structure here stores copies of the cryptographic parameters used for validating incoming packets, and signing outgoing packets, from control attributes provided by the state machine.

This separation is to allow the process module to be executed without the submodule, so that the state machine can be tested independently of the encode/decode/crypto code.

Definition at line 71 of file module.h.

+ Collaboration diagram for eap_aka_sim_mod_session_t:
Data Fields
fr_aka_sim_checkcode_t * checkcode_state Digest of all identity packets we've seen.
fr_aka_sim_ctx_t ctx
uint8_t id Last ID used, monotonically increments.
uint8_t * response_hmac_extra Data to concatenate to response packet before validating.
size_t response_hmac_extra_len

◆ eap_aka_sim_module_conf_t

struct eap_aka_sim_module_conf_t

Definition at line 39 of file module.h.

+ Collaboration diagram for eap_aka_sim_module_conf_t:
Data Fields
struct eap_aka_sim_module_conf_t aka Whether we should include a bid-down prevention attribute by default.

Only used for EAP-AKA, as a signal that EAP-AKA' was available/enabled on the server, and if the client supports EAP-AKA', it should continue with that EAP-Method instead.

eap_type_t type
CONF_SECTION * virtual_server Virtual server.

◆ eap_aka_sim_module_conf_t.aka

struct eap_aka_sim_module_conf_t.aka

Whether we should include a bid-down prevention attribute by default.

Only used for EAP-AKA, as a signal that EAP-AKA' was available/enabled on the server, and if the client supports EAP-AKA', it should continue with that EAP-Method instead.

Definition at line 48 of file module.h.

Data Fields
bool send_at_bidding_prefer_prime Include the AT bidding attribute in challenge requests.
bool send_at_bidding_prefer_prime_is_set Whether the user specified a value.

Function Documentation

◆ eap_aka_sim_process()

unlang_action_t eap_aka_sim_process ( rlm_rcode_t p_result,
module_ctx_t const *  mctx,
request_t request 
)

Decode EAP session data into attribute.

Definition at line 297 of file module.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: