24#include <freeradius-devel/util/debug.h>
25#include <freeradius-devel/arp/arp.h>
26#include <freeradius-devel/unlang/interpret.h>
61#define PROCESS_PACKET_TYPE fr_arp_packet_code_t
62#define PROCESS_CODE_MAX FR_ARP_CODE_MAX
63#define PROCESS_CODE_DO_NOT_RESPOND FR_ARP_DO_NOT_RESPOND
64#define PROCESS_PACKET_CODE_VALID FR_ARP_PACKET_CODE_VALID
65#define PROCESS_INST process_arp_t
66#include <freeradius-devel/server/process.h>
84 .resume = resume_recv_generic,
102 .send = send_generic,
103 .resume = resume_send_generic,
121 .recv = recv_generic,
122 .resume = resume_recv_generic,
140 .send = send_generic,
141 .resume = resume_send_generic,
162 .send = send_generic,
163 .resume = resume_send_generic,
170 fr_process_state_t
const *state;
177 request->component =
"arp";
178 request->module = NULL;
181 UPDATE_STATE(packet);
184 REDEBUG(
"Invalid packet type (%u)", request->packet->code);
188 return state->recv(p_result, mctx, request);
unlang_action_t
Returned by unlang_op_t calls, determine the next action of the interpreter.
A section grouping multiple CONF_PAIR.
fr_dict_attr_t const ** out
Where to write a pointer to the resolved fr_dict_attr_t.
fr_dict_t const ** out
Where to write a pointer to the loaded/resolved fr_dict_t.
#define DICT_AUTOLOAD_TERMINATOR
Specifies an attribute which must be present for the module to function.
Specifies a dictionary which must be loaded/loadable for the module to function.
#define MODULE_MAGIC_INIT
Stop people using different module/library/server versions together.
fr_dict_attr_t const * attr_packet_type
@ FR_TYPE_UINT32
32 Bit unsigned integer.
unlang_mod_actions_t const mod_actions_postauth
unlang_mod_action_t actions[RLM_MODULE_NUMCODES]
module_instance_t const * mi
Instance of the module being instantiated.
Temporary structure to hold arguments for module calls.
process_arp_sections_t sections
CONF_SECTION * reverse_reply
fr_dict_autoload_t process_arp_dict[]
static unlang_action_t mod_process(unlang_result_t *p_result, module_ctx_t const *mctx, request_t *request)
fr_dict_attr_autoload_t process_arp_dict_attr[]
static const virtual_server_compile_t compile_list[]
static fr_process_state_t const process_state[]
CONF_SECTION * recv_reply
static fr_dict_t const * dict_arp
CONF_SECTION * reverse_request
fr_process_module_t process_arp
#define PROCESS_PACKET_CODE_VALID
CONF_SECTION * do_not_respond
#define PROCESS_TRACE
Trace each state function as it's entered.
#define PROCESS_CONF_OFFSET(_x)
module_t common
Common fields for all loadable modules.
Common public symbol definition for all process modules.
#define RETURN_UNLANG_FAIL
@ RLM_MODULE_INVALID
The module considers the request invalid.
@ RLM_MODULE_OK
The module is OK, continue.
@ RLM_MODULE_FAIL
Module failed, don't reply.
@ RLM_MODULE_DISALLOW
Reject the request (user is locked out).
@ RLM_MODULE_REJECT
Immediately reject the request.
@ RLM_MODULE_TIMEOUT
Module (or section) timed out.
@ RLM_MODULE_NOTFOUND
User not found.
@ RLM_MODULE_UPDATED
OK (pairs modified).
@ RLM_MODULE_NOOP
Module succeeded without doing anything.
@ RLM_MODULE_HANDLED
The module handled the request, so stop.
#define SECTION_NAME(_name1, _name2)
Define a section name consisting of a verb and a noun.
void * data
Module's instance data.
#define MODULE_RCTX(_ctype)
#define MODULE_INST(_ctype)
#define talloc_get_type_abort_const
section_name_t const * section
Identifier for the section.
#define COMPILE_TERMINATOR
Processing sections which are allowed in this virtual server.