![]() |
The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
RADIUS process module. More...
#include <freeradius-devel/protocol/freeradius/freeradius.internal.h>#include <freeradius-devel/radius/radius.h>#include <freeradius-devel/server/main_config.h>#include <freeradius-devel/server/module.h>#include <freeradius-devel/server/pair.h>#include <freeradius-devel/server/protocol.h>#include <freeradius-devel/server/state.h>#include <freeradius-devel/server/rcode.h>#include <freeradius-devel/server/log.h>#include <freeradius-devel/unlang/xlat.h>#include <freeradius-devel/unlang/module.h>#include <freeradius-devel/unlang/interpret.h>#include <freeradius-devel/unlang/xlat_func.h>#include <freeradius-devel/util/debug.h>#include <freeradius-devel/util/pair.h>#include <freeradius-devel/util/value.h>#include <freeradius-devel/server/process.h>
Include dependency graph for base.c:Go to the source code of this file.
Data Structures | |
| struct | process_radius_auth_t |
| struct | process_radius_rctx_t |
| Records fields from the original request so we have a known good copy. More... | |
| struct | process_radius_sections_t |
| struct | process_radius_t |
Functions | |
| static int | mod_bootstrap (module_inst_ctx_t const *mctx) |
| static int | mod_instantiate (module_inst_ctx_t const *mctx) |
| static int | mod_load (void) |
| static unlang_action_t | mod_process (unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request) |
| static void | mod_unload (void) |
| static void | radius_packet_debug (request_t *request, fr_packet_t *packet, fr_pair_list_t *list, bool received) |
| static void | radius_request_pairs_store (request_t *request, process_radius_rctx_t *rctx) |
| Keep a copy of some attributes to keep them from being tamptered with. | |
| static void | radius_request_pairs_to_reply (request_t *request, process_radius_rctx_t *rctx) |
| RECV (access_request) | |
| RECV (accounting_request) | |
| A wrapper around recv generic which stores fields from the request. | |
| RECV (generic_radius_request) | |
| A wrapper around recv generic which stores fields from the request. | |
| RESUME (access_challenge) | |
| RESUME (access_request) | |
| RESUME (accounting_request) | |
| RESUME (acct_type) | |
| RESUME (auth_type) | |
| RESUME (generic_radius_response) | |
| A wrapper around send generic which restores fields. | |
| RESUME (protocol_error) | |
| RESUME_FLAG (access_accept, UNUSED,) | |
| RESUME_FLAG (access_reject, UNUSED,) | |
| static xlat_action_t | xlat_func_radius_secret_verify (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
| Validates a request against a know shared secret. | |
RADIUS process module.
Definition in file base.c.
| struct process_radius_auth_t |
Collaboration diagram for process_radius_auth_t:| Data Fields | ||
|---|---|---|
| uint32_t | max_session | Maximum ongoing session allowed. |
| fr_time_delta_t | session_timeout | Maximum time between the last response and next request. |
| uint8_t | state_server_id | Sets a specific byte in the state to allow the authenticating server to be identified in packet captures. |
| fr_state_tree_t * | state_tree | State tree to link multiple requests/responses. |
| struct process_radius_rctx_t |
Records fields from the original request so we have a known good copy.
Collaboration diagram for process_radius_rctx_t:| Data Fields | ||
|---|---|---|
| fr_value_box_list_head_t | proxy_state | These need to be copied into the response in exactly the same order as they were added. |
| unlang_result_t | result | |
| struct process_radius_sections_t |
Collaboration diagram for process_radius_sections_t:| Data Fields | ||
|---|---|---|
| CONF_SECTION * | access_accept | |
| CONF_SECTION * | access_challenge | |
| CONF_SECTION * | access_reject | |
| CONF_SECTION * | access_request | |
| CONF_SECTION * | accounting_request | |
| CONF_SECTION * | accounting_response | |
| CONF_SECTION * | add_client | |
| CONF_SECTION * | coa_ack | |
| CONF_SECTION * | coa_nak | |
| CONF_SECTION * | coa_request | |
| CONF_SECTION * | deny_client | |
| CONF_SECTION * | disconnect_ack | |
| CONF_SECTION * | disconnect_nak | |
| CONF_SECTION * | disconnect_request | |
| CONF_SECTION * | do_not_respond | |
| CONF_SECTION * | new_client | |
| uint64_t | nothing | |
| CONF_SECTION * | protocol_error | |
| CONF_SECTION * | status_server | |
| struct process_radius_t |
Collaboration diagram for process_radius_t:| Data Fields | ||
|---|---|---|
| process_radius_auth_t | auth | Authentication configuration. |
| process_radius_sections_t | sections | Pointers to various config sections we need to execute. |
| CONF_SECTION * | server_cs | Our virtual server. |
| #define FR_RADIUS_PROCESS_CODE_VALID | ( | _x | ) | (FR_RADIUS_PACKET_CODE_VALID(_x) || (_x == FR_RADIUS_CODE_DO_NOT_RESPOND)) |
| #define PROCESS_CODE_DO_NOT_RESPOND FR_RADIUS_CODE_DO_NOT_RESPOND |
| #define PROCESS_CODE_DYNAMIC_CLIENT FR_RADIUS_CODE_ACCESS_ACCEPT |
| #define PROCESS_CODE_MAX FR_RADIUS_CODE_MAX |
| #define PROCESS_INST process_radius_t |
| #define PROCESS_PACKET_CODE_VALID FR_RADIUS_PROCESS_CODE_VALID |
| #define PROCESS_PACKET_TYPE fr_radius_packet_code_t |
| #define PROCESS_RCTX process_radius_rctx_t |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
inlinestatic |
|
inlinestatic |
| RECV | ( | access_request | ) |
| RECV | ( | accounting_request | ) |
| RECV | ( | generic_radius_request | ) |
| RESUME | ( | access_challenge | ) |
| RESUME | ( | access_request | ) |
| RESUME | ( | accounting_request | ) |
| RESUME | ( | auth_type | ) |
| RESUME | ( | generic_radius_response | ) |
| RESUME | ( | protocol_error | ) |
| RESUME_FLAG | ( | access_accept | , |
| UNUSED | |||
| ) |
| RESUME_FLAG | ( | access_reject | , |
| UNUSED | |||
| ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| fr_process_module_t process_radius |
| fr_dict_autoload_t process_radius_dict |
| fr_dict_attr_autoload_t process_radius_dict_attr |
| fr_dict_enum_autoload_t process_radius_dict_enum |
|
static |
|
static |
1.9.8