]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add support for type_identity to EAP-SIM/AKA/AKA'
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 23 Apr 2021 18:22:43 +0000 (13:22 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 23 Apr 2021 18:23:07 +0000 (13:23 -0500)
src/modules/rlm_eap/types/rlm_eap_aka/rlm_eap_aka.c
src/modules/rlm_eap/types/rlm_eap_aka_prime/rlm_eap_aka_prime.c
src/modules/rlm_eap/types/rlm_eap_sim/rlm_eap_sim.c

index 7a87b0c46f6b6939930a82218832557d644a95b2..6188f9953fdf8cab2a3aaa4a81b7d2a66c16aade 100644 (file)
@@ -86,6 +86,13 @@ static int mod_instantiate(void *instance, CONF_SECTION *conf)
        return 0;
 }
 
+static eap_type_t mod_type_identity(UNUSED void *instance, char const *id, size_t len)
+{
+       if (fr_aka_sim_id_to_eap_type(id, len) == FR_EAP_METHOD_AKA) return FR_EAP_METHOD_AKA;
+
+       return FR_EAP_METHOD_INVALID;
+}
+
 static int mod_load(void)
 {
        if (fr_aka_sim_init() < 0) return -1;
@@ -121,6 +128,7 @@ rlm_eap_submodule_t rlm_eap_aka = {
 
        .instantiate    = mod_instantiate,
 
+       .type_identity  = mod_type_identity,
        .session_init   = mod_session_init,
        .namespace      = &dict_eap_aka_sim
 };
index 501e9b16f55cc4ada045e51c9ef803d3f91b4583..66fd63bd6c10802ceefdb7b717561f867e04542c 100644 (file)
@@ -65,6 +65,13 @@ static int mod_instantiate(void *instance, UNUSED CONF_SECTION *conf)
        return 0;
 }
 
+static eap_type_t mod_type_identity(UNUSED void *instance, char const *id, size_t len)
+{
+       if (fr_aka_sim_id_to_eap_type(id, len) == FR_EAP_METHOD_AKA_PRIME) return FR_EAP_METHOD_AKA_PRIME;
+
+       return FR_EAP_METHOD_INVALID;
+}
+
 static int mod_load(void)
 {
        if (fr_aka_sim_init() < 0) return -1;
@@ -100,6 +107,7 @@ rlm_eap_submodule_t rlm_eap_aka_prime = {
 
        .instantiate    = mod_instantiate,
 
+       .type_identity  = mod_type_identity,
        .session_init   = mod_session_init,
        .namespace      = &dict_eap_aka_sim
 };
index d0e76800fe07c44803e75c4f98cb359f02437d41..9349f3a3a55d2a32778b746033e64acc545f02f4 100644 (file)
@@ -63,6 +63,14 @@ static int mod_instantiate(void *instance, UNUSED CONF_SECTION *conf)
 
        return 0;
 }
+
+static eap_type_t mod_type_identity(UNUSED void *instance, char const *id, size_t len)
+{
+       if (fr_aka_sim_id_to_eap_type(id, len) == FR_EAP_METHOD_AKA) return FR_EAP_METHOD_AKA;
+
+       return FR_EAP_METHOD_INVALID;
+}
+
 static int mod_load(void)
 {
        if (fr_aka_sim_init() < 0) return -1;
@@ -98,6 +106,7 @@ rlm_eap_submodule_t rlm_eap_sim = {
 
        .instantiate    = mod_instantiate,
 
+       .type_identity  = mod_type_identity,
        .session_init   = mod_session_init,     /* Initialise a new EAP session */
        .namespace      = &dict_eap_aka_sim
 };