The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Functions | Variables
xlat.c File Reference

EAP-SIM/EAP-AKA identity detection, creation, and decyption. More...

#include <freeradius-devel/server/base.h>
#include <freeradius-devel/unlang/xlat_func.h>
#include "base.h"
#include "attrs.h"
+ Include dependency graph for xlat.c:

Go to the source code of this file.

Functions

static xlat_action_t aka_sim_3gpp_temporary_id_decrypt_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in)
 Decrypt a 3gpp temporary id. More...
 
static xlat_action_t aka_sim_3gpp_temporary_id_encrypt_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in)
 Encrypts a 3gpp pseudonym. More...
 
static xlat_action_t aka_sim_id_3gpp_temporary_id_key_index_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in)
 Returns the key index from a 3gpp temporary id. More...
 
static xlat_action_t aka_sim_xlat_id_method_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in)
 Returns the SIM method EAP-SIM or EAP-AKA hinted at by the user identifier. More...
 
static xlat_action_t aka_sim_xlat_id_type_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in)
 Returns the type of identity used. More...
 
int fr_aka_sim_xlat_func_register (void)
 
void fr_aka_sim_xlat_func_unregister (void)
 

Variables

static xlat_arg_parser_t aka_sim_3gpp_temporary_id_decrypt_xlat_args []
 
static xlat_arg_parser_t aka_sim_3gpp_temporary_id_encrypt_xlat_args []
 
static xlat_arg_parser_t const aka_sim_id_3gpp_temporary_id_key_index_xlat_args []
 
static xlat_arg_parser_t const aka_sim_xlat_id_method_xlat_args []
 
static xlat_arg_parser_t const aka_sim_xlat_id_type_xlat_args []
 
static int aka_sim_xlat_refs = 0
 

Detailed Description

EAP-SIM/EAP-AKA identity detection, creation, and decyption.

Implements the encrypted IMSI scheme described in TS 33.402 Release 14, section 14.

Definition in file xlat.c.

Function Documentation

◆ fr_aka_sim_xlat_func_register()

int fr_aka_sim_xlat_func_register ( void  )

Definition at line 497 of file xlat.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fr_aka_sim_xlat_func_unregister()

void fr_aka_sim_xlat_func_unregister ( void  )

Definition at line 521 of file xlat.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ aka_sim_3gpp_temporary_id_decrypt_xlat_args

xlat_arg_parser_t aka_sim_3gpp_temporary_id_decrypt_xlat_args[]
static
Initial value:
= {
{ .required = true, .concat = true, .single = false, .type = FR_TYPE_STRING,
.func = NULL, .uctx = NULL },
{ .required = true, .concat = true, .single = false, .type = FR_TYPE_OCTETS,
.func = NULL, .uctx = NULL },
{ .required = false, .concat = false, .single = true, .type = FR_TYPE_BOOL,
.func = NULL, .uctx = NULL },
}
@ FR_TYPE_STRING
String of printable characters.
Definition: merged_model.c:83
@ FR_TYPE_BOOL
A truth value.
Definition: merged_model.c:95
@ FR_TYPE_OCTETS
Raw octets.
Definition: merged_model.c:84
#define XLAT_ARG_PARSER_TERMINATOR
Definition: xlat.h:166

Definition at line 182 of file xlat.c.

◆ aka_sim_3gpp_temporary_id_encrypt_xlat_args

xlat_arg_parser_t aka_sim_3gpp_temporary_id_encrypt_xlat_args[]
static
Initial value:
= {
{ .required = true, .concat = true, .single = false, .type = FR_TYPE_STRING },
{ .required = true, .concat = true, .single = false, .type = FR_TYPE_OCTETS },
{ .required = true, .concat = false, .single = true, .type = FR_TYPE_UINT8 },
{ .required = false, .concat = false, .single = true, .type = FR_TYPE_STRING },
}
@ FR_TYPE_UINT8
8 Bit unsigned integer.
Definition: merged_model.c:97

Definition at line 327 of file xlat.c.

◆ aka_sim_id_3gpp_temporary_id_key_index_xlat_args

xlat_arg_parser_t const aka_sim_id_3gpp_temporary_id_key_index_xlat_args[]
static
Initial value:
= {
{ .required = true, .single = true, .type = FR_TYPE_STRING },
}

Definition at line 149 of file xlat.c.

◆ aka_sim_xlat_id_method_xlat_args

xlat_arg_parser_t const aka_sim_xlat_id_method_xlat_args[]
static
Initial value:
= {
{ .required = true, .single = true, .type = FR_TYPE_STRING },
}

Definition at line 36 of file xlat.c.

◆ aka_sim_xlat_id_type_xlat_args

xlat_arg_parser_t const aka_sim_xlat_id_type_xlat_args[]
static
Initial value:
= {
{ .required = true, .single = true, .type = FR_TYPE_STRING },
}

Definition at line 93 of file xlat.c.

◆ aka_sim_xlat_refs

int aka_sim_xlat_refs = 0
static

Definition at line 33 of file xlat.c.