From: Arran Cudbard-Bell Date: Wed, 21 Jun 2017 23:09:57 +0000 (-0400) Subject: Use standard module instantiate signature in rlm_eap X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed4b75bfd31beb5ea39277e6e43a031a434a18ed;p=thirdparty%2Ffreeradius-server.git Use standard module instantiate signature in rlm_eap --- diff --git a/src/modules/rlm_eap/eap.h b/src/modules/rlm_eap/eap.h index 02c782e2f91..57bca203a23 100644 --- a/src/modules/rlm_eap/eap.h +++ b/src/modules/rlm_eap/eap.h @@ -99,28 +99,15 @@ typedef struct rlm_eap_config { bool cisco_accounting_username_bug; } rlm_eap_config_t; -/** Instantiate an EAP submodule - * - * Function to handle any submodule specific instantiation. - * - * @param config of the rlm_eap instance. Should not be modified. - * @param instance A uint8_t array of inst_size if inst_size > 0, else NULL, - * this should contain the result of parsing the submodule's - * CONF_PARSER array that it specified in the interface struct. - * @param cs section holding driver specific #CONF_PAIR (s). - * @return - * - 0 on success. - * - -1 on failure. - */ -typedef int (*eap_instantiate_t)(rlm_eap_config_t const *config, void *instance, CONF_SECTION *cs); - /** Interface exported by EAP submodules * */ typedef struct rlm_eap_submodule { RAD_MODULE_COMMON; //!< Common fields to all loadable modules. - eap_instantiate_t instantiate; //!< Create a new submodule instance. + module_instantiate_t bootstrap; //!< Register any attributes required for the module + //!< to function, and perform library intit. + module_instantiate_t instantiate; //!< Create a new submodule instance. eap_process_t session_init; //!< Callback for creating a new #eap_session_t. eap_process_t process; //!< Callback for processing the next #eap_round_t of an //!< #eap_session_t. diff --git a/src/modules/rlm_eap/rlm_eap.c b/src/modules/rlm_eap/rlm_eap.c index d69c9b137b7..ce73be8f164 100644 --- a/src/modules/rlm_eap/rlm_eap.c +++ b/src/modules/rlm_eap/rlm_eap.c @@ -99,7 +99,7 @@ int eap_method_instantiate(rlm_eap_method_t **out, rlm_eap_t *inst, eap_type_t n * Call the instantiated function in the submodule */ if ((method->submodule->instantiate) && - ((method->submodule->instantiate)(&inst->config, method->submodule_inst->data, cs) < 0)) { + ((method->submodule->instantiate)(method->submodule_inst->data, cs) < 0)) { talloc_free(method); return -1; } diff --git a/src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c b/src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c index a2905d558c0..f143833472d 100644 --- a/src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c +++ b/src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c @@ -74,7 +74,7 @@ static CONF_PARSER submodule_config[] = { /* * Attach the module. */ -static int mod_instantiate(UNUSED rlm_eap_config_t const *config, void *instance, CONF_SECTION *cs) +static int mod_instantiate(void *instance, CONF_SECTION *cs) { rlm_eap_fast_t *inst = talloc_get_type_abort(instance, rlm_eap_fast_t); diff --git a/src/modules/rlm_eap/types/rlm_eap_gtc/rlm_eap_gtc.c b/src/modules/rlm_eap/types/rlm_eap_gtc/rlm_eap_gtc.c index 1ad58730f6f..ad96fb320cd 100644 --- a/src/modules/rlm_eap/types/rlm_eap_gtc/rlm_eap_gtc.c +++ b/src/modules/rlm_eap/types/rlm_eap_gtc/rlm_eap_gtc.c @@ -191,7 +191,7 @@ static rlm_rcode_t mod_session_init(void *instance, eap_session_t *eap_session) /* * Attach the module. */ -static int mod_instantiate(UNUSED rlm_eap_config_t const *config, void *instance, CONF_SECTION *cs) +static int mod_instantiate(void *instance, CONF_SECTION *cs) { rlm_eap_gtc_t *inst = talloc_get_type_abort(instance, rlm_eap_gtc_t); fr_dict_enum_t *dval; diff --git a/src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c b/src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c index c606d28f119..6ac7570ae94 100644 --- a/src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c +++ b/src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c @@ -742,7 +742,7 @@ static rlm_rcode_t mod_session_init(void *instance, eap_session_t *eap_session) /* * Attach the module. */ -static int mod_instantiate(UNUSED rlm_eap_config_t const *config, void *instance, CONF_SECTION *cs) +static int mod_instantiate(void *instance, CONF_SECTION *cs) { rlm_eap_mschapv2_t *inst = talloc_get_type_abort(instance, rlm_eap_mschapv2_t); fr_dict_enum_t const *dv; diff --git a/src/modules/rlm_eap/types/rlm_eap_peap/rlm_eap_peap.c b/src/modules/rlm_eap/types/rlm_eap_peap/rlm_eap_peap.c index 183e12cac1d..5feb84be53f 100644 --- a/src/modules/rlm_eap/types/rlm_eap_peap/rlm_eap_peap.c +++ b/src/modules/rlm_eap/types/rlm_eap_peap/rlm_eap_peap.c @@ -281,7 +281,7 @@ static rlm_rcode_t mod_session_init(void *type_arg, eap_session_t *eap_session) /* * Attach the module. */ -static int mod_instantiate(UNUSED rlm_eap_config_t const *config, void *instance, CONF_SECTION *cs) +static int mod_instantiate(void *instance, CONF_SECTION *cs) { rlm_eap_peap_t *inst = talloc_get_type_abort(instance, rlm_eap_peap_t); fr_dict_enum_t *dv; diff --git a/src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c b/src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c index 639f55d0299..77f859daec1 100644 --- a/src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c +++ b/src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c @@ -507,7 +507,7 @@ static int mod_detach(void *arg) return 0; } -static int mod_instantiate(UNUSED rlm_eap_config_t const *config, void *instance, CONF_SECTION *cs) +static int mod_instantiate(void *instance, CONF_SECTION *cs) { rlm_eap_pwd_t *inst = talloc_get_type_abort(instance, rlm_eap_pwd_t); diff --git a/src/modules/rlm_eap/types/rlm_eap_sim/rlm_eap_sim.c b/src/modules/rlm_eap/types/rlm_eap_sim/rlm_eap_sim.c index 6297eea5c78..c577614f01b 100644 --- a/src/modules/rlm_eap/types/rlm_eap_sim/rlm_eap_sim.c +++ b/src/modules/rlm_eap/types/rlm_eap_sim/rlm_eap_sim.c @@ -545,7 +545,7 @@ static rlm_rcode_t mod_session_init(UNUSED void *instance, eap_session_t *eap_se /* * Attach the module. */ -static int mod_instantiate(UNUSED rlm_eap_config_t const *config, UNUSED void *instance, CONF_SECTION *cs) +static int mod_instantiate(UNUSED void *instance, CONF_SECTION *cs) { fr_dict_attr_t const *da; CONF_SECTION *subcs = NULL; diff --git a/src/modules/rlm_eap/types/rlm_eap_tls/rlm_eap_tls.c b/src/modules/rlm_eap/types/rlm_eap_tls/rlm_eap_tls.c index aa481d9869e..ffa40bcb52e 100644 --- a/src/modules/rlm_eap/types/rlm_eap_tls/rlm_eap_tls.c +++ b/src/modules/rlm_eap/types/rlm_eap_tls/rlm_eap_tls.c @@ -201,7 +201,7 @@ static rlm_rcode_t mod_session_init(void *type_arg, eap_session_t *eap_session) /* * Attach the EAP-TLS module. */ -static int mod_instantiate(UNUSED rlm_eap_config_t const *config, void *instance, CONF_SECTION *cs) +static int mod_instantiate(void *instance, CONF_SECTION *cs) { rlm_eap_tls_t *inst = talloc_get_type_abort(instance, rlm_eap_tls_t); diff --git a/src/modules/rlm_eap/types/rlm_eap_ttls/rlm_eap_ttls.c b/src/modules/rlm_eap/types/rlm_eap_ttls/rlm_eap_ttls.c index b853822df0b..6c56ff799de 100644 --- a/src/modules/rlm_eap/types/rlm_eap_ttls/rlm_eap_ttls.c +++ b/src/modules/rlm_eap/types/rlm_eap_ttls/rlm_eap_ttls.c @@ -263,7 +263,7 @@ static rlm_rcode_t mod_session_init(void *type_arg, eap_session_t *eap_session) /* * Attach the module. */ -static int mod_instantiate(UNUSED rlm_eap_config_t const *config, void *instance, CONF_SECTION *cs) +static int mod_instantiate(void *instance, CONF_SECTION *cs) { rlm_eap_ttls_t *inst = talloc_get_type_abort(instance, rlm_eap_ttls_t);