]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Remove references to EAP-SIM-*
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 15 Feb 2022 00:13:08 +0000 (19:13 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 15 Feb 2022 00:13:08 +0000 (19:13 -0500)
src/lib/eap_aka_sim/vector.c
src/lib/sim/attrs.h [deleted file]
src/lib/sim/base.c [deleted file]

index c8d3c03377916841221a8d703135df5d8c9ce552..a5f51d2a6123e263652b8aa8aa0bd0d4c7145c6b 100644 (file)
@@ -204,7 +204,7 @@ static int vector_gsm_from_triplets(request_t *request, fr_pair_list_t *vps,
                return 1;
        }
        if (rand->vp_length != AKA_SIM_VECTOR_GSM_RAND_SIZE) {
-               REDEBUG("&control.EAP-SIM-Rand[%i] is not " STRINGIFY(SIM_RAND_SIZE) " bytes, got %zu bytes",
+               REDEBUG("&control.RAND[%i] is not " STRINGIFY(SIM_RAND_SIZE) " bytes, got %zu bytes",
                        idx, rand->vp_length);
                return -1;
        }
diff --git a/src/lib/sim/attrs.h b/src/lib/sim/attrs.h
deleted file mode 100644 (file)
index 7f71276..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#pragma once
-/*
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or (at
- *   your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-/**
- * @file src/lib/sim/attrs.h
- * @brief Attributes to EAP-SIM/AKA/AKA' clients and servers.
- *
- * @copyright 2003-2016 The FreeRADIUS server project
- */
-#include <freeradius-devel/util/debug.h>
-#include <freeradius-devel/util/dict.h>
-#include <freeradius-devel/protocol/eap/sim/dictionary.h>
-#include <freeradius-devel/protocol/eap/sim/rfc4187.h>
-#include <freeradius-devel/protocol/eap/aka/dictionary.h>
-#include <freeradius-devel/protocol/eap/aka/rfc4187.h>
-#include <freeradius-devel/protocol/eap/aka/freeradius.h>
-
-/*
- *     Sanity check on dictionaries...
- *
- *     EAP-SIM/AKA/AKA' attributes are allocated from
- *     the same IANA number space, so they should
- *     by identical
- */
-#define DICT_SANITY_CHECK(_name) \
-       static_assert(FR_EAP_SIM_##_name == FR_EAP_AKA_##_name, \
-                     "Number mismatch between FR_EAP_SIM_##_name and FR_EAP_AKA_##_name")
-
-DICT_SANITY_CHECK(IDENTITY);
-DICT_SANITY_CHECK(IV);
-DICT_SANITY_CHECK(PADDING);
-DICT_SANITY_CHECK(MAC);
-
-#define FR_SIM_IDENTITY                                (FR_EAP_SIM_IDENTITY & FR_EAP_AKA_IDENTITY)
-#define FR_SIM_IV                              (FR_EAP_SIM_IV & FR_EAP_AKA_IV)
-#define FR_SIM_PADDING                         (FR_EAP_SIM_PADDING & FR_EAP_AKA_PADDING)
-#define FR_SIM_MAC                             (FR_EAP_SIM_MAC & FR_EAP_AKA_MAC)
-
-/*
- *     Common internal attributes
- */
-DICT_SANITY_CHECK(SUBTYPE);
-#define FR_SIM_SUBTYPE                         (FR_EAP_SIM_SUBTYPE & FR_EAP_AKA_SUBTYPE)
-
-extern HIDDEN fr_dict_t *dict_freeradius;
-extern HIDDEN fr_dict_t *dict_radius;
-extern HIDDEN fr_dict_t *dict_eap_sim;
-extern HIDDEN fr_dict_t *dict_eap_aka;
-
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_ak;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_autn;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_auts;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_checkcode;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_ck;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_counter;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_identity;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_ik;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_iv;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_mac;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_mk;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_padding;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_rand;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_res;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_subtype;
-extern HIDDEN fr_dict_attr_t const *attr_eap_aka_xres;
-
-extern HIDDEN fr_dict_attr_t const *attr_eap_sim_identity;
-extern HIDDEN fr_dict_attr_t const *attr_eap_sim_iv;
-extern HIDDEN fr_dict_attr_t const *attr_eap_sim_kc;
-extern HIDDEN fr_dict_attr_t const *attr_eap_sim_mac;
-extern HIDDEN fr_dict_attr_t const *attr_eap_sim_padding;
-extern HIDDEN fr_dict_attr_t const *attr_eap_sim_rand;
-extern HIDDEN fr_dict_attr_t const *attr_eap_sim_sres;
-extern HIDDEN fr_dict_attr_t const *attr_eap_sim_subtype;
-
-extern HIDDEN fr_dict_attr_t const *attr_eap_type;
-extern HIDDEN fr_dict_attr_t const *attr_sim_algo_version;
-extern HIDDEN fr_dict_attr_t const *attr_sim_amf;
-extern HIDDEN fr_dict_attr_t const *attr_sim_identity_type;
-extern HIDDEN fr_dict_attr_t const *attr_sim_ki;
-extern HIDDEN fr_dict_attr_t const *attr_sim_method_hint;
-extern HIDDEN fr_dict_attr_t const *attr_sim_op;
-extern HIDDEN fr_dict_attr_t const *attr_sim_opc;
-extern HIDDEN fr_dict_attr_t const *attr_sim_sqn;
diff --git a/src/lib/sim/base.c b/src/lib/sim/base.c
deleted file mode 100644 (file)
index dd01d51..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- *   This program is is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation; either version 2 of the License, or (at
- *   your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-/**
- * @file src/lib/sim/base.c
- * @brief Code common to EAP-SIM/AKA/AKA' clients and servers.
- *
- * The development of the EAP-SIM support was funded by Internet Foundation
- * Austria (http://www.nic.at/ipa).
- *
- * @copyright 2003 Michael Richardson (mcr@sandelman.ottawa.on.ca)
- * @copyright 2003-2016 The FreeRADIUS server project
- */
-
-RCSID("$Id$")
-
-#include <freeradius-devel/util/sha1.h>
-#include <freeradius-devel/util/debug.h>
-#include <freeradius-devel/server/module.h>
-#include <freeradius-devel/tls/base.h>
-
-#include <freeradius-devel/eap/types.h>
-#include "eap_sim_common.h"
-#include "base.h"
-#include "attrs.h"
-
-static uint32_t instance_count = 0;
-
-fr_dict_t *dict_freeradius;
-fr_dict_t *dict_radius;
-fr_dict_t *dict_eap_sim;
-fr_dict_t *dict_eap_aka;
-
-extern fr_dict_autoload_t libfreeradius_sim_dict[];
-fr_dict_autoload_t libfreeradius_sim_dict[] = {
-       { .out = &dict_freeradius, .proto = "freeradius" },
-       { .out = &dict_radius, .proto = "radius" },
-       { .out = &dict_eap_sim, .proto = "eap-sim", .base_dir = "eap/sim" },
-       { .out = &dict_eap_aka, .proto = "eap-aka", .base_dir = "eap/aka" },
-
-       { NULL }
-};
-
-fr_dict_attr_t const *attr_eap_aka_ak;
-fr_dict_attr_t const *attr_eap_aka_autn;
-fr_dict_attr_t const *attr_eap_aka_auts;
-fr_dict_attr_t const *attr_eap_aka_checkcode;
-fr_dict_attr_t const *attr_eap_aka_ck;
-fr_dict_attr_t const *attr_eap_aka_counter;
-fr_dict_attr_t const *attr_eap_aka_identity;
-fr_dict_attr_t const *attr_eap_aka_ik;
-fr_dict_attr_t const *attr_eap_aka_iv;
-fr_dict_attr_t const *attr_eap_aka_mac;
-fr_dict_attr_t const *attr_eap_aka_mk;
-fr_dict_attr_t const *attr_eap_aka_padding;
-fr_dict_attr_t const *attr_eap_aka_rand;
-fr_dict_attr_t const *attr_eap_aka_res;
-fr_dict_attr_t const *attr_eap_aka_subtype;
-fr_dict_attr_t const *attr_eap_aka_xres;
-
-fr_dict_attr_t const *attr_eap_sim_identity;
-fr_dict_attr_t const *attr_eap_sim_iv;
-fr_dict_attr_t const *attr_eap_sim_kc;
-fr_dict_attr_t const *attr_eap_sim_mac;
-fr_dict_attr_t const *attr_eap_sim_padding;
-fr_dict_attr_t const *attr_eap_sim_rand;
-fr_dict_attr_t const *attr_eap_sim_sres;
-fr_dict_attr_t const *attr_eap_sim_subtype;
-
-fr_dict_attr_t const *attr_eap_type;
-fr_dict_attr_t const *attr_sim_algo_version;
-fr_dict_attr_t const *attr_sim_amf;
-fr_dict_attr_t const *attr_sim_identity_type;
-fr_dict_attr_t const *attr_sim_ki;
-fr_dict_attr_t const *attr_sim_method_hint;
-fr_dict_attr_t const *attr_sim_op;
-fr_dict_attr_t const *attr_sim_opc;
-fr_dict_attr_t const *attr_sim_sqn;
-
-extern fr_dict_attr_autoload_t libfreeradius_sim_dict_attr[];
-fr_dict_attr_autoload_t libfreeradius_sim_dict_attr[] = {
-       { .out = &attr_eap_aka_ak, .name = "EAP-AKA-AK", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_autn, .name = "EAP-AKA-AUTN", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_auts, .name = "EAP-AKA-AUTS", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_counter, .name = "EAP-AKA-Counter", .type = FR_TYPE_UINT16, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_checkcode, .name = "EAP-AKA-Checkcode", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_ck, .name = "EAP-AKA-CK", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_identity, .name = "EAP-AKA-Identity", .type = FR_TYPE_STRING, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_ik, .name = "EAP-AKA-IK", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_iv, .name = "EAP-AKA-IV", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_mac, .name = "EAP-AKA-MAC", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_mk, .name = "EAP-AKA-MK", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_padding, .name = "EAP-AKA-Padding", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_rand, .name = "EAP-AKA-RAND", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_res, .name = "EAP-AKA-RES", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_subtype, .name = "EAP-AKA-Subtype", .type = FR_TYPE_UINT32, .dict = &dict_eap_aka },
-       { .out = &attr_eap_aka_xres, .name = "EAP-AKA-XRES", .type = FR_TYPE_OCTETS, .dict = &dict_eap_aka },
-
-       { .out = &attr_eap_sim_identity, .name = "EAP-SIM-Identity", .type = FR_TYPE_STRING, .dict = &dict_eap_sim },
-       { .out = &attr_eap_sim_iv, .name = "EAP-SIM-IV", .type = FR_TYPE_OCTETS, .dict = &dict_eap_sim },
-       { .out = &attr_eap_sim_kc, .name = "EAP-SIM-KC", .type = FR_TYPE_OCTETS, .dict = &dict_eap_sim },
-       { .out = &attr_eap_sim_mac, .name = "EAP-SIM-MAC", .type = FR_TYPE_OCTETS, .dict = &dict_eap_sim },
-       { .out = &attr_eap_sim_padding, .name = "EAP-SIM-Padding", .type = FR_TYPE_OCTETS, .dict = &dict_eap_sim },
-       { .out = &attr_eap_sim_rand, .name = "EAP-SIM-RAND", .type = FR_TYPE_OCTETS, .dict = &dict_eap_sim },
-       { .out = &attr_eap_sim_sres, .name = "EAP-SIM-SRES", .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_eap_type, .name = "EAP-Type", .type = FR_TYPE_UINT32, .dict = &dict_freeradius },
-       { .out = &attr_sim_algo_version, .name = "SIM-Algo-Version", .type = FR_TYPE_UINT32, .dict = &dict_freeradius },
-       { .out = &attr_sim_amf, .name = "SIM-AMF", .type = FR_TYPE_OCTETS, .dict = &dict_freeradius },
-       { .out = &attr_sim_identity_type, .name = "SIM-Identity-Type", .type = FR_TYPE_UINT32, .dict = &dict_freeradius },
-       { .out = &attr_sim_ki, .name = "SIM-Ki", .type = FR_TYPE_OCTETS, .dict = &dict_freeradius },
-       { .out = &attr_sim_method_hint, .name = "SIM-Method-Hint", .type = FR_TYPE_UINT32, .dict = &dict_freeradius },
-       { .out = &attr_sim_op, .name = "SIM-OP", .type = FR_TYPE_OCTETS, .dict = &dict_freeradius },
-       { .out = &attr_sim_opc, .name = "SIM-OPc", .type = FR_TYPE_OCTETS, .dict = &dict_freeradius },
-       { .out = &attr_sim_sqn, .name = "SIM-SQN", .type = FR_TYPE_UINT64, .dict = &dict_freeradius },
-
-       { NULL }
-};
-
-/** SIM AT on-the-wire format attribute sizes
- *
- * Holds the min/max sizes of all supported SIM AT attribute values as they
- * would be found in a SIM AT packet.
- *
- * These sizes may be different than the sizes of INTERNAL formats, PRESENTATION
- * formats and generic NETWORK formats.
- */
-size_t const fr_sim_attr_sizes[FR_TYPE_MAX + 1][2] = {
-       [FR_TYPE_NULL]          = {~0, 0},
-
-       [FR_TYPE_STRING]                = {0, ~0},
-       [FR_TYPE_OCTETS]                = {0, ~0},
-
-       [FR_TYPE_BOOL]                  = {2, 2},
-       [FR_TYPE_UINT8]                 = {1, 1},
-       [FR_TYPE_UINT16]                = {2, 2},
-       [FR_TYPE_UINT32]                = {4, 4},
-       [FR_TYPE_UINT64]                = {8, 8},
-
-       [FR_TYPE_TLV]                   = {2, ~0},
-
-       [FR_TYPE_MAX]                   = {~0, 0}       //!< Ensure array covers all types.
-};
-
-/** Return the on-the-wire length of an attribute value
- *
- * @param[in] vp to return the length of.
- * @return the length of the attribute.
- */
-size_t fr_sim_attr_len(fr_pair_t const *vp)
-{
-       switch (vp->vp_type) {
-       case FR_TYPE_STRUCTURAL:
-               fr_assert_fail(NULL);
-               return 0;
-
-       case FR_TYPE_VARIABLE_SIZE:
-               return vp->vp_length;
-
-       default:
-               return fr_sim_attr_sizes[vp->vp_type][0];
-       }
-}
-
-/** Return the number of bytes before the octets value
- *
- */
-size_t fr_sim_octets_prefix_len(fr_dict_attr_t const *da)
-{
-       if (da->flags.array) return 0;          /* Array elements have no padding */
-       if (!da->flags.length) return 2;        /* Variable length attributes need length field */
-       if (!(da->flags.length % 4)) return 2;  /* Values that are multiples of four have 2 reserved bytes */
-       return 0;                               /* Everything else has zero padding bytes */
-}
-
-int fr_sim_init(void)
-{
-       if (instance_count > 0) {
-               instance_count++;
-               return 0;
-       }
-
-       if (fr_dict_autoload(libfreeradius_sim_dict) < 0) {
-               PERROR("Failed loading libfreeradius-sim dictionaries");
-               return -1;
-       }
-       if (fr_dict_attr_autoload(libfreeradius_sim_dict_attr) < 0) {
-               PERROR("Failed loading libfreeradius-sim attributes");
-               fr_dict_autofree(libfreeradius_sim_dict);
-               return -1;
-       }
-       instance_count++;
-
-       return 0;
-}
-
-void fr_sim_free(void)
-{
-       if (--instance_count > 0) return;
-
-       fr_dict_autofree(libfreeradius_sim_dict);
-}
-