The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Data Structures | Macros | Functions | Variables
rlm_wimax.c File Reference

Supports various WiMax functionality. More...

#include <freeradius-devel/server/base.h>
#include <freeradius-devel/server/module_rlm.h>
#include <freeradius-devel/tls/base.h>
#include <freeradius-devel/util/base16.h>
#include <freeradius-devel/tls/openssl_user_macros.h>
#include <openssl/hmac.h>
+ Include dependency graph for rlm_wimax.c:

Go to the source code of this file.

Data Structures

struct  rlm_wimax_t
 

Macros

#define LOG_PREFIX   "wimax"
 

Functions

static unlang_action_t mod_authorize (rlm_rcode_t *p_result, UNUSED module_ctx_t const *mctx, request_t *request)
 
static unlang_action_t mod_post_auth (rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
 
static unlang_action_t mod_preacct (rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
 

Variables

static fr_dict_attr_t const * attr_calling_station_id
 
static fr_dict_attr_t const * attr_eap_emsk
 
static fr_dict_attr_t const * attr_eap_msk
 
static fr_dict_attr_t const * attr_ms_mppe_recv_key
 
static fr_dict_attr_t const * attr_ms_mppe_send_key
 
static fr_dict_attr_t const * attr_wimax_fa_rk_key
 
static fr_dict_attr_t const * attr_wimax_fa_rk_spi
 
static fr_dict_attr_t const * attr_wimax_ha_rk_key_requested
 
static fr_dict_attr_t const * attr_wimax_hha_ip_mip4
 
static fr_dict_attr_t const * attr_wimax_hha_ip_mip6
 
static fr_dict_attr_t const * attr_wimax_ip_technology
 
static fr_dict_attr_t const * attr_wimax_mn_hha_mip4_key
 
static fr_dict_attr_t const * attr_wimax_mn_hha_mip4_spi
 
static fr_dict_attr_t const * attr_wimax_mn_hha_mip6_key
 
static fr_dict_attr_t const * attr_wimax_mn_hha_mip6_spi
 
static fr_dict_attr_t const * attr_wimax_mn_nai
 
static fr_dict_attr_t const * attr_wimax_msk
 
static fr_dict_attr_t const * attr_wimax_rrq_ha_ip
 
static fr_dict_attr_t const * attr_wimax_rrq_mn_ha_spi
 
static fr_dict_t const * dict_freeradius
 
static fr_dict_t const * dict_radius
 
static const conf_parser_t module_config []
 
module_rlm_t rlm_wimax
 
fr_dict_autoload_t rlm_wimax_dict []
 
fr_dict_attr_autoload_t rlm_wimax_dict_attr []
 

Detailed Description

Supports various WiMax functionality.

Id
28727dc05649d26d0b59680a85ace3ceae8fcf92

Definition in file rlm_wimax.c.


Data Structure Documentation

◆ rlm_wimax_t

struct rlm_wimax_t

Definition at line 43 of file rlm_wimax.c.

Data Fields
bool delete_mppe_keys

Macro Definition Documentation

◆ LOG_PREFIX

#define LOG_PREFIX   "wimax"

Definition at line 27 of file rlm_wimax.c.

Function Documentation

◆ mod_authorize()

static unlang_action_t mod_authorize ( rlm_rcode_t p_result,
UNUSED module_ctx_t const *  mctx,
request_t request 
)
static

Definition at line 119 of file rlm_wimax.c.

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

◆ mod_post_auth()

static unlang_action_t mod_post_auth ( rlm_rcode_t p_result,
module_ctx_t const *  mctx,
request_t request 
)
static

Definition at line 164 of file rlm_wimax.c.

+ Here is the call graph for this function:

◆ mod_preacct()

static unlang_action_t mod_preacct ( rlm_rcode_t p_result,
module_ctx_t const *  mctx,
request_t request 
)
static

Definition at line 156 of file rlm_wimax.c.

+ Here is the call graph for this function:

Variable Documentation

◆ attr_calling_station_id

fr_dict_attr_t const* attr_calling_station_id
static

Definition at line 66 of file rlm_wimax.c.

◆ attr_eap_emsk

fr_dict_attr_t const* attr_eap_emsk
static

Definition at line 62 of file rlm_wimax.c.

◆ attr_eap_msk

fr_dict_attr_t const* attr_eap_msk
static

Definition at line 63 of file rlm_wimax.c.

◆ attr_ms_mppe_recv_key

fr_dict_attr_t const* attr_ms_mppe_recv_key
static

Definition at line 83 of file rlm_wimax.c.

◆ attr_ms_mppe_send_key

fr_dict_attr_t const* attr_ms_mppe_send_key
static

Definition at line 82 of file rlm_wimax.c.

◆ attr_wimax_fa_rk_key

fr_dict_attr_t const* attr_wimax_fa_rk_key
static

Definition at line 76 of file rlm_wimax.c.

◆ attr_wimax_fa_rk_spi

fr_dict_attr_t const* attr_wimax_fa_rk_spi
static

Definition at line 77 of file rlm_wimax.c.

◆ attr_wimax_ha_rk_key_requested

fr_dict_attr_t const* attr_wimax_ha_rk_key_requested
static

Definition at line 80 of file rlm_wimax.c.

◆ attr_wimax_hha_ip_mip4

fr_dict_attr_t const* attr_wimax_hha_ip_mip4
static

Definition at line 72 of file rlm_wimax.c.

◆ attr_wimax_hha_ip_mip6

fr_dict_attr_t const* attr_wimax_hha_ip_mip6
static

Definition at line 73 of file rlm_wimax.c.

◆ attr_wimax_ip_technology

fr_dict_attr_t const* attr_wimax_ip_technology
static

Definition at line 69 of file rlm_wimax.c.

◆ attr_wimax_mn_hha_mip4_key

fr_dict_attr_t const* attr_wimax_mn_hha_mip4_key
static

Definition at line 70 of file rlm_wimax.c.

◆ attr_wimax_mn_hha_mip4_spi

fr_dict_attr_t const* attr_wimax_mn_hha_mip4_spi
static

Definition at line 71 of file rlm_wimax.c.

◆ attr_wimax_mn_hha_mip6_key

fr_dict_attr_t const* attr_wimax_mn_hha_mip6_key
static

Definition at line 74 of file rlm_wimax.c.

◆ attr_wimax_mn_hha_mip6_spi

fr_dict_attr_t const* attr_wimax_mn_hha_mip6_spi
static

Definition at line 75 of file rlm_wimax.c.

◆ attr_wimax_mn_nai

fr_dict_attr_t const* attr_wimax_mn_nai
static

Definition at line 64 of file rlm_wimax.c.

◆ attr_wimax_msk

fr_dict_attr_t const* attr_wimax_msk
static

Definition at line 68 of file rlm_wimax.c.

◆ attr_wimax_rrq_ha_ip

fr_dict_attr_t const* attr_wimax_rrq_ha_ip
static

Definition at line 79 of file rlm_wimax.c.

◆ attr_wimax_rrq_mn_ha_spi

fr_dict_attr_t const* attr_wimax_rrq_mn_ha_spi
static

Definition at line 78 of file rlm_wimax.c.

◆ dict_freeradius

fr_dict_t const* dict_freeradius
static

Definition at line 53 of file rlm_wimax.c.

◆ dict_radius

fr_dict_t const* dict_radius
static

Definition at line 52 of file rlm_wimax.c.

◆ module_config

const conf_parser_t module_config[]
static
Initial value:
= {
{ FR_CONF_OFFSET("delete_mppe_keys", rlm_wimax_t, delete_mppe_keys), .dflt = "no" },
}
#define CONF_PARSER_TERMINATOR
Definition: cf_parse.h:626
#define FR_CONF_OFFSET(_name, _struct, _field)
conf_parser_t which parses a single CONF_PAIR, writing the result to a field in a struct
Definition: cf_parse.h:268

Definition at line 47 of file rlm_wimax.c.

◆ rlm_wimax

module_rlm_t rlm_wimax
Initial value:
= {
.common = {
.name = "wimax",
.inst_size = sizeof(rlm_wimax_t),
},
.dict = &dict_radius,
.method_names = (module_method_name_t[]){
{ .name1 = "recv", .name2 = "accounting-request", .method = mod_preacct },
{ .name1 = "recv", .name2 = CF_IDENT_ANY, .method = mod_authorize },
{ .name1 = "send", .name2 = CF_IDENT_ANY, .method = mod_post_auth },
}
}
#define CF_IDENT_ANY
Definition: cf_util.h:78
#define MODULE_MAGIC_INIT
Stop people using different module/library/server versions together.
Definition: dl_module.h:65
Specifies a module method identifier.
Definition: module_method.c:36
static const conf_parser_t config[]
Definition: base.c:188
static fr_dict_t const * dict_radius
Definition: rlm_wimax.c:52
static unlang_action_t mod_preacct(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
Definition: rlm_wimax.c:156
static const conf_parser_t module_config[]
Definition: rlm_wimax.c:47
static unlang_action_t mod_authorize(rlm_rcode_t *p_result, UNUSED module_ctx_t const *mctx, request_t *request)
Definition: rlm_wimax.c:119
static unlang_action_t mod_post_auth(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
Definition: rlm_wimax.c:164
@ MODULE_TYPE_THREAD_SAFE
Module is threadsafe.
Definition: module.h:49
#define MODULE_NAME_TERMINATOR
Definition: module.h:135

Definition at line 456 of file rlm_wimax.c.

◆ rlm_wimax_dict

fr_dict_autoload_t rlm_wimax_dict
Initial value:
= {
{ .out = &dict_radius, .proto = "radius" },
{ .out = &dict_freeradius, .proto = "freeradius" },
{ NULL }
}
static fr_dict_t const * dict_freeradius
Definition: rlm_wimax.c:53

Definition at line 56 of file rlm_wimax.c.

◆ rlm_wimax_dict_attr

fr_dict_attr_autoload_t rlm_wimax_dict_attr
Initial value:
= {
{ .out = &attr_eap_emsk, .name = "EAP-EMSK", .type = FR_TYPE_OCTETS, .dict = &dict_freeradius },
{ .out = &attr_eap_msk, .name = "EAP-MSK", .type = FR_TYPE_OCTETS, .dict = &dict_freeradius },
{ .out = &attr_wimax_mn_nai, .name = "WiMAX-MN-NAI", .type = FR_TYPE_STRING, .dict = &dict_freeradius },
{ .out = &attr_calling_station_id, .name = "Calling-Station-ID", .type = FR_TYPE_STRING, .dict = &dict_radius },
{ .out = &attr_wimax_msk, .name = "Vendor-Specific.WiMAX.MSK", .type = FR_TYPE_OCTETS, .dict = &dict_radius },
{ .out = &attr_wimax_ip_technology, .name = "Vendor-Specific.WiMAX.IP-Technology", .type = FR_TYPE_UINT32, .dict = &dict_radius },
{ .out = &attr_wimax_mn_hha_mip4_key, .name = "Vendor-Specific.WiMAX.MN-hHA-MIP4-Key", .type = FR_TYPE_OCTETS, .dict = &dict_radius },
{ .out = &attr_wimax_mn_hha_mip4_spi, .name = "Vendor-Specific.WiMAX.MN-hHA-MIP4-SPI", .type = FR_TYPE_UINT32, .dict = &dict_radius },
{ .out = &attr_wimax_hha_ip_mip4, .name = "Vendor-Specific.WiMAX.hHA-IP-MIP4", .type = FR_TYPE_IPV4_ADDR, .dict = &dict_radius },
{ .out = &attr_wimax_hha_ip_mip6, .name = "Vendor-Specific.WiMAX.hHA-IP-MIP6", .type = FR_TYPE_IPV6_ADDR, .dict = &dict_radius },
{ .out = &attr_wimax_mn_hha_mip6_key, .name = "Vendor-Specific.WiMAX.MN-hHA-MIP6-Key", .type = FR_TYPE_OCTETS, .dict = &dict_radius },
{ .out = &attr_wimax_mn_hha_mip6_spi, .name = "Vendor-Specific.WiMAX.MN-hHA-MIP6-SPI", .type = FR_TYPE_UINT32, .dict = &dict_radius },
{ .out = &attr_wimax_fa_rk_key, .name = "Vendor-Specific.WiMAX.FA-RK-Key", .type = FR_TYPE_OCTETS, .dict = &dict_radius },
{ .out = &attr_wimax_fa_rk_spi, .name = "Vendor-Specific.WiMAX.FA-RK-SPI", .type = FR_TYPE_UINT32, .dict = &dict_radius },
{ .out = &attr_wimax_rrq_mn_ha_spi, .name = "Vendor-Specific.WiMAX.RRQ-MN-HA-SPI", .type = FR_TYPE_UINT32, .dict = &dict_radius },
{ .out = &attr_wimax_rrq_ha_ip, .name = "Vendor-Specific.WiMAX.RRQ-HA-IP", .type = FR_TYPE_COMBO_IP_ADDR, .dict = &dict_radius },
{ .out = &attr_wimax_ha_rk_key_requested, .name = "Vendor-Specific.WiMAX.HA-RK-Key-Requested", .type = FR_TYPE_UINT32, .dict = &dict_radius },
{ .out = &attr_ms_mppe_send_key, .name = "Vendor-Specific.Microsoft.MPPE-Send-Key", .type = FR_TYPE_OCTETS, .dict = &dict_radius },
{ .out = &attr_ms_mppe_recv_key, .name = "Vendor-Specific.Microsoft.MPPE-Recv-Key", .type = FR_TYPE_OCTETS, .dict = &dict_radius },
{ NULL }
}
@ FR_TYPE_IPV4_ADDR
32 Bit IPv4 Address.
Definition: merged_model.c:86
@ FR_TYPE_STRING
String of printable characters.
Definition: merged_model.c:83
@ FR_TYPE_UINT32
32 Bit unsigned integer.
Definition: merged_model.c:99
@ FR_TYPE_IPV6_ADDR
128 Bit IPv6 Address.
Definition: merged_model.c:88
@ FR_TYPE_COMBO_IP_ADDR
IPv4 or IPv6 address depending on length.
Definition: merged_model.c:91
@ FR_TYPE_OCTETS
Raw octets.
Definition: merged_model.c:84
static fr_dict_attr_t const * attr_wimax_fa_rk_key
Definition: rlm_wimax.c:76
static fr_dict_attr_t const * attr_wimax_fa_rk_spi
Definition: rlm_wimax.c:77
static fr_dict_attr_t const * attr_wimax_rrq_ha_ip
Definition: rlm_wimax.c:79
static fr_dict_attr_t const * attr_wimax_hha_ip_mip4
Definition: rlm_wimax.c:72
static fr_dict_attr_t const * attr_eap_msk
Definition: rlm_wimax.c:63
static fr_dict_attr_t const * attr_wimax_mn_hha_mip4_spi
Definition: rlm_wimax.c:71
static fr_dict_attr_t const * attr_calling_station_id
Definition: rlm_wimax.c:66
static fr_dict_attr_t const * attr_wimax_hha_ip_mip6
Definition: rlm_wimax.c:73
static fr_dict_attr_t const * attr_wimax_mn_hha_mip6_key
Definition: rlm_wimax.c:74
static fr_dict_attr_t const * attr_wimax_mn_nai
Definition: rlm_wimax.c:64
static fr_dict_attr_t const * attr_eap_emsk
Definition: rlm_wimax.c:62
static fr_dict_attr_t const * attr_wimax_mn_hha_mip4_key
Definition: rlm_wimax.c:70
static fr_dict_attr_t const * attr_ms_mppe_send_key
Definition: rlm_wimax.c:82
static fr_dict_attr_t const * attr_wimax_rrq_mn_ha_spi
Definition: rlm_wimax.c:78
static fr_dict_attr_t const * attr_wimax_msk
Definition: rlm_wimax.c:68
static fr_dict_attr_t const * attr_ms_mppe_recv_key
Definition: rlm_wimax.c:83
static fr_dict_attr_t const * attr_wimax_ip_technology
Definition: rlm_wimax.c:69
static fr_dict_attr_t const * attr_wimax_ha_rk_key_requested
Definition: rlm_wimax.c:80
static fr_dict_attr_t const * attr_wimax_mn_hha_mip6_spi
Definition: rlm_wimax.c:75

Definition at line 86 of file rlm_wimax.c.