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/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>
Go to the source code of this file.
Data Structures | |
struct | process_radius_auth_t |
struct | process_radius_request_pairs_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 (rlm_rcode_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 process_radius_request_pairs_t * | radius_request_pairs_store (request_t *request) |
Keep a copy of some attributes to keep them from being tamptered with. More... | |
static void | radius_request_pairs_to_reply (request_t *request, process_radius_request_pairs_t *rctx) |
RECV (access_request) | |
RECV (accounting_request) | |
A wrapper around recv generic which stores fields from the request. More... | |
RECV (generic_radius_request) | |
A wrapper around recv generic which stores fields from the request. More... | |
RESUME (access_accept) | |
RESUME (access_challenge) | |
RESUME (access_reject) | |
RESUME (access_request) | |
RESUME (accounting_request) | |
RESUME (acct_type) | |
RESUME (auth_type) | |
RESUME (generic_radius_response) | |
A wrapper around send generic which restores fields. More... | |
RESUME (protocol_error) | |
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. More... | |
RADIUS process module.
Definition in file base.c.
struct 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_request_pairs_t |
struct 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 |
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 |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
inlinestatic |
|
inlinestatic |
RECV | ( | access_request | ) |
RECV | ( | accounting_request | ) |
RECV | ( | generic_radius_request | ) |
RESUME | ( | access_accept | ) |
RESUME | ( | access_challenge | ) |
RESUME | ( | access_reject | ) |
RESUME | ( | access_request | ) |
RESUME | ( | accounting_request | ) |
RESUME | ( | acct_type | ) |
RESUME | ( | auth_type | ) |
RESUME | ( | generic_radius_response | ) |
RESUME | ( | protocol_error | ) |
|
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 |