|  | 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:
 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:
 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:
 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:
 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:
 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
 1.9.8