27#include <freeradius-devel/server/virtual_servers.h> 
   36#include <freeradius-devel/io/schedule.h> 
   37#include <freeradius-devel/server/cf_parse.h> 
   38#include <freeradius-devel/unlang/module.h> 
   39#include <freeradius-devel/unlang/mod_action.h> 
   40#include <freeradius-devel/util/dict.h> 
   78                                             char const *virtual_server, 
fr_dict_t const *
namespace,
 
  143#define COMPILE_TERMINATOR { .section = NULL } 
unlang_action_t
Returned by unlang_op_t calls, determine the next action of the interpreter.
 
Defines a CONF_PAIR to C data type mapping.
 
Common header for all CONF_* types.
 
A section grouping multiple CONF_PAIR.
 
Stores all information relating to an event list.
 
static const conf_parser_t config[]
 
static const uchar sc[16]
 
static fr_event_list_t * el
 
static size_t char ** out
 
section_name_t const  * section
Identifier for the section.
 
bool listen_record(fr_listen_t *li)
Record that we're listening on a particular IP / port.
 
unlang_action_t virtual_server_push(unlang_result_t *p_result, request_t *request, virtual_server_t const *vs, bool top_frame))
Set the request processing function.
 
int virtual_server_section_register(virtual_server_t *vs, virtual_server_compile_t const *entry)
Register name1 / name2 as allowed processing sections.
 
int virtual_servers_bootstrap(CONF_SECTION *config)
Load protocol modules and call their bootstrap methods.
 
const conf_parser_t virtual_servers_on_read_config[]
 
fr_dict_t const * virtual_server_dict_by_name(char const *virtual_server)
Return the namespace for the named virtual server.
 
char const  * process_module_name
Virtual server we find must use this this process module.
 
module_instance_t * virtual_server_listener_by_data(void const *data)
Resolve proto data to a module instance.
 
size_t offset
where the CONF_SECTION pointer is written
 
section_name_t const ** virtual_server_section_methods(virtual_server_t const *vs, section_name_t const *section)
Find the component for a section.
 
int virtual_servers_open(fr_schedule_t *sc)
Open all the listen sockets.
 
fr_dict_t ** required_dict
Virtual server we find must have this dictionary.
 
int virtual_server_listen_transport_parse(TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, conf_parser_t const *rule)
Generic conf_parser_t func for loading drivers.
 
const conf_parser_t virtual_servers_config[]
 
int virtual_server_cf_parse(TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, conf_parser_t const *rule))
 
virtual_server_t const * virtual_server_find(char const *name)
Return virtual server matching the specified name.
 
fr_dict_t const * virtual_server_dict_by_child_ci(CONF_ITEM const *ci)
Return the namespace for a given virtual server specified by a CONF_ITEM within the virtual server.
 
int virtual_server_has_namespace(CONF_SECTION **out, char const *virtual_server, fr_dict_t const *namespace, CONF_ITEM *ci))
Verify that a given virtual_server exists and is of a particular namespace.
 
fr_listen_t * listen_find_any(fr_listen_t *li)
See if another global listener is using a particular IP / port.
 
int virtual_server_section_attribute_define(CONF_SECTION *server_cs, char const *subcs_name, fr_dict_attr_t const *da)
Define a values for Auth-Type attributes by the sections present in a virtual-server.
 
void virtual_servers_thread_detach(void)
Free thread-specific data for all process modules and listeners.
 
void virtual_server_process_debug(void)
Print all the loaded process module instances.
 
CONF_SECTION * virtual_server_cs(virtual_server_t const *vs)
Return the configuration section for a virtual server.
 
fr_dict_t const * virtual_server_dict_by_cs(CONF_SECTION const *server_cs)
Return the namespace for the virtual server specified by a config section.
 
int virtual_servers_init(void)
Performs global initialisation for the virtual server code.
 
void virtual_server_listen_debug(void)
Print all the loaded listener instances.
 
int virtual_servers_instantiate(void)
Instantiate all the virtual servers.
 
virtual_server_t const * virtual_server_by_child(CONF_ITEM const *ci)
Find a virtual server using one of its sections.
 
int virtual_servers_free(void)
 
bool dont_cache
If true, the CONF_SECTION pointer won't be written and the offset will be ignored.
 
size_t instruction
where the instruction pointer is written
 
int virtual_servers_thread_instantiate(TALLOC_CTX *ctx, fr_event_list_t *el)
Perform thread instantiation for all process modules and listeners.
 
virtual_server_t const * virtual_server_from_cs(CONF_SECTION *server_cs)
Resolve a CONF_SECTION to a virtual server.
 
section_name_t const  ** methods
list of auxilliary module methods which are allowed in if the main name doesn't match.
 
unlang_mod_actions_t const  * actions
Default actions for this section.
 
Additional validation rules for virtual server lookup.
 
Processing sections which are allowed in this virtual server.