]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Use standard module instantiate signature in rlm_eap
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 21 Jun 2017 23:09:57 +0000 (19:09 -0400)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 22 Jun 2017 00:43:26 +0000 (20:43 -0400)
src/modules/rlm_eap/eap.h
src/modules/rlm_eap/rlm_eap.c
src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c
src/modules/rlm_eap/types/rlm_eap_gtc/rlm_eap_gtc.c
src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c
src/modules/rlm_eap/types/rlm_eap_peap/rlm_eap_peap.c
src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c
src/modules/rlm_eap/types/rlm_eap_sim/rlm_eap_sim.c
src/modules/rlm_eap/types/rlm_eap_tls/rlm_eap_tls.c
src/modules/rlm_eap/types/rlm_eap_ttls/rlm_eap_ttls.c

index 02c782e2f91e07ea9b756943d05f0d654f6d13b0..57bca203a236557780018c1901f700844ae70bef 100644 (file)
@@ -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.
index d69c9b137b7e51f5e4d943ec7eb807705af23de1..ce73be8f1646f4140138620b0f9d527ba686762d 100644 (file)
@@ -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;
        }
index a2905d558c0b0a87e5ab7732ee7203c90ed3c42d..f143833472d76e3d89e80aad0b8b8c8ed908a03c 100644 (file)
@@ -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);
 
index 1ad58730f6fecafcc48a2c00219f375088e3527d..ad96fb320cd98b04a40b10ea77af8798cae3b301 100644 (file)
@@ -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;
index c606d28f1198a502d0901700e915dbb4a2a9f2a6..6ac7570ae94239092f5e442582c542f92af10641 100644 (file)
@@ -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;
index 183e12cac1db045c5a312d037d5acbd59ea56ec2..5feb84be53f7106f08896183e24dd9d23bcfc98e 100644 (file)
@@ -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;
index 639f55d02992d7e6004806799cf2ff548eafbde6..77f859daec1edc8ed72d75bc9e13c8402a12f2ce 100644 (file)
@@ -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);
 
index 6297eea5c780e43dd5bae552122efc50f66fbce5..c577614f01b886f2df404810bd9aab729390bda5 100644 (file)
@@ -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;
index aa481d9869edd3b07f6808e1d6ebf9cf1887bc87..ffa40bcb52e3f20a3bf124443b4eeace24270f52 100644 (file)
@@ -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);
 
index b853822df0bf7e63e9d6c16448289f10ba577a70..6c56ff799de06ed0855c36efba4c1d0874ef1d9b 100644 (file)
@@ -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);