25 #include <freeradius-devel/server/request.h>
26 #include <freeradius-devel/server/request_data.h>
27 #include <freeradius-devel/server/module.h>
32 #define REQUEST_DATA_EAP_SESSION (1)
33 #define REQUEST_DATA_EAP_SESSION_PROXIED (2)
Contains a pair of request and response packets.
Structure to represent packet format of eap on wire
eap_session_t * next
Next/previous eap session in this doubly linked list.
char * identity
NAI (User-Name) from EAP-Identity.
eap_session_t * eap_session_continue(void const *instance, eap_packet_raw_t **eap_packet, request_t *request)
Ingest an eap_packet into a thawed or newly allocated session.
void * opaque
Opaque data used by EAP methods.
request_t * subrequest
Current subrequest being executed.
bool tls
Whether EAP method uses TLS.
eap_type_t type
EAP method number.
module_method_t process
Callback that should be used to process the next round.
uint8_t * child_state
State value returned by tunneled EAP method.
request_t * request
Current request.
void const * inst
Instance of the eap module this session was created by.
rlm_rcode_t submodule_rcode
Result of last submodule call.
eap_round_t * this_round
The EAP response we're processing, and the EAP request we're building.
eap_round_t * prev_round
Previous response/request pair.
static eap_session_t * eap_session_get(request_t *request)
void eap_session_freeze(eap_session_t **eap_session)
Freeze an eap_session_t so that it can continue later.
void eap_session_destroy(eap_session_t **eap_session)
'destroy' an EAP session and disassociate it from the current request
#define REQUEST_DATA_EAP_SESSION
bool finished
Whether we consider this session complete.
int rounds
How many roundtrips have occurred this session.
eap_session_t * eap_session_thaw(request_t *request)
Thaw an eap_session_t so it can be continued.
fr_time_t updated
The last time we received a packet for this EAP session.
Tracks the progress of a single session of any EAP method.
rlm_rcode_t
Return codes indicating the result of the module call.
void * request_data_reference(request_t *request, void const *unique_ptr, int unique_int)
Get opaque data from a request without removing it.
unlang_action_t(* module_method_t)(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
Module section callback.
Types of values contained within an fr_value_box_t.