not logged in | [Login]
Always use radiusd -X
when debugging!
The application layer is responsible for all protocol-specific processing. It is entirely unaware of any IO related issues. It exposes the following API.
*We may not need the fr_application_t
, as the unlang is cached in
the CONF_SECTION
, and the processing is entirely dependent on the
state machine, and the REQUEST
.
The application layer (i.e. worker thread) receives messages from the transport layer (i.e. network thread) via the (message API)[message]. The process is reversed when sending messages.
Takes a CONF_SECTION *
and returns a fr_application_t *
. It
defines the various things necessary in phase 1 bootstrap.
Note that the current server core can't deal with this. The listeners are created / parsed at awkward moments due to legacy design.
Takes a CONF_SECTION *
, fr_application_t *
, and returns int
(0/-1). Compiles any necessary unlang
blocks.
Takes a REQUEST *
, and prints debugging information about the
request, to the request debug context.
The function to call when processing a REQUEST
.
i.e. request->process()
. Takes REQUEST *
and and fr_action_t
.
It returns rlm_rcode_t
. It presumes that there is an event list in
request->el
. All events for the request are added to the event
list.
Do we need to take an fr_application_t
here? Or instead of
process
, do we have a push
function?
Last edited by Arran Cudbard-Bell, 2018-06-13 22:51:48
Sponsored by Network RADIUS