From: Arran Cudbard-Bell Date: Thu, 3 Mar 2022 20:50:48 +0000 (-0600) Subject: Add common fields to the proto modules X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=387371014a9ddc47d0fc314c2cf8229864e30326;p=thirdparty%2Ffreeradius-server.git Add common fields to the proto modules --- diff --git a/src/lib/server/process.h b/src/lib/server/process.h index 955bf68709b..73bfe6000f8 100644 --- a/src/lib/server/process.h +++ b/src/lib/server/process.h @@ -52,10 +52,7 @@ extern "C" { /** Common public symbol definition for all process modules */ typedef struct fr_process_module_s { - DL_MODULE_COMMON; //!< Common fields for all loadable modules. - module_instantiate_t bootstrap; - module_instantiate_t instantiate; - int type; /* flags */ + module_t common; //!< Common fields for all loadable modules. module_method_t process; //!< Process packets virtual_server_compile_t const *compile_list; //!< list of processing sections diff --git a/src/lib/server/virtual_servers.c b/src/lib/server/virtual_servers.c index 09d59e30caf..7dae3eb67b3 100644 --- a/src/lib/server/virtual_servers.c +++ b/src/lib/server/virtual_servers.c @@ -737,8 +737,8 @@ static int process_instantiate(CONF_SECTION *server_cs, dl_module_inst_t *dl_ins { fr_process_module_t const *process = (fr_process_module_t const *) dl_inst->module->common; - if (process->instantiate && - (process->instantiate(MODULE_INST_CTX(dl_inst)) < 0)) { + if (process->common.instantiate && + (process->common.instantiate(MODULE_INST_CTX(dl_inst)) < 0)) { cf_log_err(dl_inst->conf, "Instantiate failed"); return -1; } @@ -893,8 +893,8 @@ static int process_bootstrap(dl_module_inst_t *dl_inst, char const *namespace) { fr_process_module_t const *process = (fr_process_module_t const *) dl_inst->module->common; - if (process->bootstrap && - (process->bootstrap(MODULE_INST_CTX(dl_inst)) < 0)) { + if (process->common.bootstrap && + (process->common.bootstrap(MODULE_INST_CTX(dl_inst)) < 0)) { cf_log_err(dl_inst->conf, "Bootstrap failed"); return -1; } diff --git a/src/process/arp/base.c b/src/process/arp/base.c index f84bf757c8e..651fea3f222 100644 --- a/src/process/arp/base.c +++ b/src/process/arp/base.c @@ -242,9 +242,11 @@ static const virtual_server_compile_t compile_list[] = { extern fr_process_module_t process_arp; fr_process_module_t process_arp = { - .magic = MODULE_MAGIC_INIT, - .name = "process_arp", - .inst_size = sizeof(process_arp_t), + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_arp", + .inst_size = sizeof(process_arp_t) + }, .process = mod_process, .compile_list = compile_list, .dict = &dict_arp, diff --git a/src/process/control/base.c b/src/process/control/base.c index b75181b8086..c303446cb31 100644 --- a/src/process/control/base.c +++ b/src/process/control/base.c @@ -51,8 +51,10 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co extern fr_process_module_t process_control; fr_process_module_t process_control = { - .magic = MODULE_MAGIC_INIT, - .name = "process_control", + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_control" + }, .process = mod_process, - .dict = &dict_freeradius, + .dict = &dict_freeradius }; diff --git a/src/process/dhcpv4/base.c b/src/process/dhcpv4/base.c index 9a989e673ff..4d8e2eabd59 100644 --- a/src/process/dhcpv4/base.c +++ b/src/process/dhcpv4/base.c @@ -451,10 +451,12 @@ static const virtual_server_compile_t compile_list[] = { extern fr_process_module_t process_dhcpv4; fr_process_module_t process_dhcpv4 = { - .magic = MODULE_MAGIC_INIT, - .name = "process_dhcpv4", - .inst_size = sizeof(process_dhcpv4_t), + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_dhcpv4", + .inst_size = sizeof(process_dhcpv4_t) + }, .process = mod_process, .compile_list = compile_list, - .dict = &dict_dhcpv4, + .dict = &dict_dhcpv4 }; diff --git a/src/process/dhcpv6/base.c b/src/process/dhcpv6/base.c index 84d3e62daf9..6b95f731d7d 100644 --- a/src/process/dhcpv6/base.c +++ b/src/process/dhcpv6/base.c @@ -1231,13 +1231,14 @@ static fr_process_state_t const process_state[] = { extern fr_process_module_t process_dhcpv6; fr_process_module_t process_dhcpv6 = { - .magic = MODULE_MAGIC_INIT, - .name = "process_dhcpv6", - .config = dhcpv6_process_config, - .inst_size = sizeof(process_dhcpv6_t), - - .bootstrap = mod_bootstrap, + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_dhcpv6", + .config = dhcpv6_process_config, + .inst_size = sizeof(process_dhcpv6_t), + .bootstrap = mod_bootstrap + }, .process = mod_process, .compile_list = compile_list, .dict = &dict_dhcpv6 diff --git a/src/process/dns/base.c b/src/process/dns/base.c index 9734bbb9f23..a28ca562cf6 100644 --- a/src/process/dns/base.c +++ b/src/process/dns/base.c @@ -190,9 +190,11 @@ static const virtual_server_compile_t compile_list[] = { extern fr_process_module_t process_dns; fr_process_module_t process_dns = { - .magic = MODULE_MAGIC_INIT, - .name = "process_dns", - .inst_size = sizeof(process_dns_t), + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_dns", + .inst_size = sizeof(process_dns_t) + }, .process = mod_process, .compile_list = compile_list, .dict = &dict_dns, diff --git a/src/process/eap_aka/base.c b/src/process/eap_aka/base.c index 275c128a200..d9e6c51d4dd 100644 --- a/src/process/eap_aka/base.c +++ b/src/process/eap_aka/base.c @@ -265,15 +265,16 @@ static void mod_unload(void) extern fr_process_module_t process_eap_aka; fr_process_module_t process_eap_aka = { - .magic = MODULE_MAGIC_INIT, - .name = "process_eap_aka", - .onload = mod_load, - .unload = mod_unload, - .config = submodule_config, - .instantiate = mod_instantiate, - .inst_size = sizeof(eap_aka_sim_process_conf_t), - .inst_type = "eap_aka_sim_process_conf_t", - + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_eap_aka", + .onload = mod_load, + .unload = mod_unload, + .config = submodule_config, + .instantiate = mod_instantiate, + .inst_size = sizeof(eap_aka_sim_process_conf_t), + .inst_type = "eap_aka_sim_process_conf_t" + }, .process = eap_aka_sim_state_machine_process, .compile_list = compile_list, .dict = &dict_eap_aka_sim, diff --git a/src/process/eap_aka_prime/base.c b/src/process/eap_aka_prime/base.c index 30551213240..e0b6d5bd437 100644 --- a/src/process/eap_aka_prime/base.c +++ b/src/process/eap_aka_prime/base.c @@ -266,15 +266,16 @@ static void mod_unload(void) extern fr_process_module_t process_eap_aka_prime; fr_process_module_t process_eap_aka_prime = { - .magic = MODULE_MAGIC_INIT, - .name = "process_eap_aka_prime", - .onload = mod_load, - .unload = mod_unload, - .config = submodule_config, - .instantiate = mod_instantiate, - .inst_size = sizeof(eap_aka_sim_process_conf_t), - .inst_type = "eap_aka_sim_process_conf_t", - + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_eap_aka_prime", + .onload = mod_load, + .unload = mod_unload, + .config = submodule_config, + .instantiate = mod_instantiate, + .inst_size = sizeof(eap_aka_sim_process_conf_t), + .inst_type = "eap_aka_sim_process_conf_t" + }, .process = eap_aka_sim_state_machine_process, .compile_list = compile_list, .dict = &dict_eap_aka_sim, diff --git a/src/process/eap_sim/base.c b/src/process/eap_sim/base.c index a05a6c9a93e..afa97c75b20 100644 --- a/src/process/eap_sim/base.c +++ b/src/process/eap_sim/base.c @@ -253,15 +253,16 @@ static void mod_unload(void) extern fr_process_module_t process_eap_sim; fr_process_module_t process_eap_sim = { - .magic = MODULE_MAGIC_INIT, - .name = "process_eap_sim", - .onload = mod_load, - .unload = mod_unload, - .config = submodule_config, - .instantiate = mod_instantiate, - .inst_size = sizeof(eap_aka_sim_process_conf_t), - .inst_type = "eap_aka_sim_process_conf_t", - + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_eap_sim", + .onload = mod_load, + .unload = mod_unload, + .config = submodule_config, + .instantiate = mod_instantiate, + .inst_size = sizeof(eap_aka_sim_process_conf_t), + .inst_type = "eap_aka_sim_process_conf_t" + }, .process = eap_aka_sim_state_machine_process, .compile_list = compile_list, .dict = &dict_eap_aka_sim, diff --git a/src/process/radius/base.c b/src/process/radius/base.c index 2cff7ce9196..efd365c0202 100644 --- a/src/process/radius/base.c +++ b/src/process/radius/base.c @@ -1125,14 +1125,15 @@ static virtual_server_compile_t const compile_list[] = { extern fr_process_module_t process_radius; fr_process_module_t process_radius = { - .magic = MODULE_MAGIC_INIT, - .name = "process_radius", - .config = config, - .inst_size = sizeof(process_radius_t), - - .bootstrap = mod_bootstrap, - .instantiate = mod_instantiate, - + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_radius", + .config = config, + .inst_size = sizeof(process_radius_t), + + .bootstrap = mod_bootstrap, + .instantiate = mod_instantiate + }, .process = mod_process, .compile_list = compile_list, .dict = &dict_radius, diff --git a/src/process/tacacs/base.c b/src/process/tacacs/base.c index 07886e95f6d..8a633d7cc61 100644 --- a/src/process/tacacs/base.c +++ b/src/process/tacacs/base.c @@ -705,12 +705,14 @@ static virtual_server_compile_t compile_list[] = { extern fr_process_module_t process_tacacs; fr_process_module_t process_tacacs = { - .magic = MODULE_MAGIC_INIT, - .name = "process_tacacs", - .config = config, - .inst_size = sizeof(process_tacacs_t), - .bootstrap = mod_bootstrap, - .instantiate = mod_instantiate, + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_tacacs", + .config = config, + .inst_size = sizeof(process_tacacs_t), + .bootstrap = mod_bootstrap, + .instantiate = mod_instantiate + }, .process = mod_process, .compile_list = compile_list, .dict = &dict_tacacs, diff --git a/src/process/tls/base.c b/src/process/tls/base.c index d18b62d0def..025aeff734f 100644 --- a/src/process/tls/base.c +++ b/src/process/tls/base.c @@ -181,9 +181,11 @@ static const virtual_server_compile_t compile_list[] = { extern fr_process_module_t process_tls; fr_process_module_t process_tls = { - .magic = MODULE_MAGIC_INIT, - .name = "process_tls", - .inst_size = sizeof(process_tls_t), + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_tls", + .inst_size = sizeof(process_tls_t) + }, .process = mod_process, .compile_list = compile_list, .dict = &dict_tls, diff --git a/src/process/ttls/base.c b/src/process/ttls/base.c index 13e3123afeb..ebf275eb535 100644 --- a/src/process/ttls/base.c +++ b/src/process/ttls/base.c @@ -819,15 +819,16 @@ static virtual_server_compile_t const compile_list[] = { extern fr_process_module_t process_ttls; fr_process_module_t process_ttls = { - .magic = MODULE_MAGIC_INIT, - .name = "process_ttls", - .config = config, - .inst_size = sizeof(process_ttls_t), - - .bootstrap = mod_bootstrap, - .instantiate = mod_instantiate, - + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_ttls", + .config = config, + .inst_size = sizeof(process_ttls_t), + + .bootstrap = mod_bootstrap, + .instantiate = mod_instantiate + }, .process = mod_process, .compile_list = compile_list, - .dict = &dict_radius, + .dict = &dict_radius }; diff --git a/src/process/vmps/base.c b/src/process/vmps/base.c index c613c73ae84..450ce25c102 100644 --- a/src/process/vmps/base.c +++ b/src/process/vmps/base.c @@ -259,10 +259,11 @@ static const virtual_server_compile_t compile_list[] = { extern fr_process_module_t process_vmps; fr_process_module_t process_vmps = { - .magic = MODULE_MAGIC_INIT, - .name = "process_vmps", - .inst_size = sizeof(process_vmps_t), - + .common = { + .magic = MODULE_MAGIC_INIT, + .name = "process_vmps", + .inst_size = sizeof(process_vmps_t) + }, .process = mod_process, .compile_list = compile_list, .dict = &dict_vmps,