From: Alan T. DeKok Date: Thu, 13 Dec 2018 19:49:09 +0000 (-0500) Subject: use correct dictionary, and fix dictionary to be correct X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97506d7c37b40ed3144192f96120bee11b00162b;p=thirdparty%2Ffreeradius-server.git use correct dictionary, and fix dictionary to be correct --- diff --git a/share/dictionary/eap/aka/dictionary.freeradius b/share/dictionary/eap/aka/dictionary.freeradius index f5d79e187c5..a3deadd0f35 100644 --- a/share/dictionary/eap/aka/dictionary.freeradius +++ b/share/dictionary/eap/aka/dictionary.freeradius @@ -26,3 +26,9 @@ ATTRIBUTE EAP-AKA-XRES 260 octets ATTRIBUTE EAP-AKA-CK 261 octets ATTRIBUTE EAP-AKA-IK 262 octets ATTRIBUTE EAP-AKA-AUTHN 263 octets + +# +# Keys to store for fast-reauthentication +# +ATTRIBUTE EAP-SIM-MK 264 octets # Master key +ATTRIBUTE EAP-AKA-AK 265 octets diff --git a/share/dictionary/eap/aka/dictionary.rfc4187 b/share/dictionary/eap/aka/dictionary.rfc4187 index 7969b90ee90..76890f7ed88 100644 --- a/share/dictionary/eap/aka/dictionary.rfc4187 +++ b/share/dictionary/eap/aka/dictionary.rfc4187 @@ -65,27 +65,3 @@ VALUE EAP-AKA-Bidding Prefer-AKA 0 VALUE EAP-AKA-Bidding Prefer-AKA-Prime 32768 # D Bit ATTRIBUTE EAP-AKA-Result-Ind 137 bool - -# -# Internal attributes used by FreeRADIUS -# -FLAGS internal -ATTRIBUTE EAP-AKA-Subtype 256 integer - -VALUE EAP-AKA-Subtype AKA-Challenge 1 -VALUE EAP-AKA-Subtype AKA-Authentication-Reject 2 -VALUE EAP-AKA-Subtype AKA-Synchronization-Failure 4 -VALUE EAP-AKA-Subtype AKA-Identity 5 -VALUE EAP-AKA-Subtype AKA-Notification 12 -VALUE EAP-AKA-Subtype AKA-Reauthentication 13 -VALUE EAP-AKA-Subtype AKA-Client-Error 14 - -ATTRIBUTE EAP-AKA-XRES 260 octets -ATTRIBUTE EAP-AKA-CK 261 octets -ATTRIBUTE EAP-AKA-IK 262 octets -ATTRIBUTE EAP-AKA-AK 263 octets - -# -# Keys to store for fast-reauthentication -# -ATTRIBUTE EAP-SIM-MK 264 octets # Master key diff --git a/share/dictionary/eap/sim/dictionary.freeradius b/share/dictionary/eap/sim/dictionary.freeradius index 0d89cd08f46..e5e1d19c2bf 100644 --- a/share/dictionary/eap/sim/dictionary.freeradius +++ b/share/dictionary/eap/sim/dictionary.freeradius @@ -20,6 +20,8 @@ ATTRIBUTE EAP-SIM-HMAC 257 string ATTRIBUTE EAP-SIM-Key 258 octets ATTRIBUTE EAP-SIM-Extra 259 octets +ATTRIBUTE EAP-SIM-MK 264 octets # Master key + ATTRIBUTE EAP-SIM-SRES 1222 octets ATTRIBUTE EAP-SIM-KC 1223 octets -ATTRIBUTE EAP-SIM-State 1224 integer \ No newline at end of file +ATTRIBUTE EAP-SIM-State 1224 integer diff --git a/src/modules/rlm_eap/lib/sim/base.c b/src/modules/rlm_eap/lib/sim/base.c index eaa569f478d..ec7f369d596 100644 --- a/src/modules/rlm_eap/lib/sim/base.c +++ b/src/modules/rlm_eap/lib/sim/base.c @@ -184,8 +184,12 @@ int fr_sim_init(void) return 0; } - if (fr_dict_autoload(libfreeradius_sim_dict) < 0) return -1; + if (fr_dict_autoload(libfreeradius_sim_dict) < 0) { + PERROR("Failed loading SIM dictionary"); + return -1; + } if (fr_dict_attr_autoload(libfreeradius_sim_dict_attr) < 0) { + PERROR("Failed loading SIM attributes"); fr_dict_autofree(libfreeradius_sim_dict); return -1; } diff --git a/src/modules/rlm_eap/lib/sim/sim_attrs.h b/src/modules/rlm_eap/lib/sim/sim_attrs.h index 0c43bee2596..38890a21782 100644 --- a/src/modules/rlm_eap/lib/sim/sim_attrs.h +++ b/src/modules/rlm_eap/lib/sim/sim_attrs.h @@ -26,6 +26,7 @@ #include #include #include +#include /* * Sanity check on dictionaries... diff --git a/src/modules/rlm_eap/types/rlm_eap_aka/rlm_eap_aka.c b/src/modules/rlm_eap/types/rlm_eap_aka/rlm_eap_aka.c index 17b323e588e..ce983dae7f2 100644 --- a/src/modules/rlm_eap/types/rlm_eap_aka/rlm_eap_aka.c +++ b/src/modules/rlm_eap/types/rlm_eap_aka/rlm_eap_aka.c @@ -33,6 +33,7 @@ RCSID("$Id$") #include #include +#include #ifndef EAP_TLS_MPPE_KEY_LEN # define EAP_TLS_MPPE_KEY_LEN 32 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 ff60e82ad99..7a253e87e84 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 @@ -93,8 +93,8 @@ static fr_dict_attr_t const *attr_eap_sim_version_list; extern fr_dict_attr_autoload_t rlm_eap_sim_dict_attr[]; fr_dict_attr_autoload_t rlm_eap_sim_dict_attr[] = { - { .out = &attr_eap_sim_mk, .name = "EAP-SIM-MK", .type = FR_TYPE_OCTETS, .dict = &dict_freeradius }, - { .out = &attr_eap_sim_subtype, .name = "EAP-SIM-Subtype", .type = FR_TYPE_UINT32, .dict = &dict_freeradius }, + { .out = &attr_eap_sim_mk, .name = "EAP-SIM-MK", .type = FR_TYPE_OCTETS, .dict = &dict_eap_sim }, + { .out = &attr_eap_sim_subtype, .name = "EAP-SIM-Subtype", .type = FR_TYPE_UINT32, .dict = &dict_eap_sim }, { .out = &attr_ms_mppe_send_key, .name = "MS-MPPE-Send-Key", .type = FR_TYPE_OCTETS, .dict = &dict_radius }, { .out = &attr_ms_mppe_recv_key, .name = "MS-MPPE-Recv-Key", .type = FR_TYPE_OCTETS, .dict = &dict_radius }, @@ -1148,7 +1148,10 @@ static rlm_rcode_t mod_session_init(void *instance, eap_session_t *eap_session) static int mod_load(void) { - if (fr_sim_init() < 0) return -1; + if (fr_sim_init() < 0) { + ERROR("Failed initializing SIM library"); + return -1; + } sim_xlat_register();