The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Data Structures | Macros | Functions | Variables
rlm_eap_pwd.c File Reference
#include <freeradius-devel/server/base.h>
#include <freeradius-devel/server/module_rlm.h>
#include <freeradius-devel/tls/base.h>
#include "eap_pwd.h"
+ Include dependency graph for rlm_eap_pwd.c:

Go to the source code of this file.

Data Structures

struct  rlm_eap_pwd_t
 

Macros

#define MPPE_KEY_LEN   32
 
#define MSK_EMSK_LEN   (2 * MPPE_KEY_LEN)
 

Functions

static int _free_pwd_session (pwd_session_t *session)
 
static int mod_detach (module_detach_ctx_t const *mctx)
 
static int mod_instantiate (module_inst_ctx_t const *mctx)
 
static unlang_action_t mod_process (rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
 
static unlang_action_t mod_session_init (rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
 
static int send_pwd_request (request_t *request, pwd_session_t *session, eap_round_t *eap_round)
 

Variables

static fr_dict_attr_t const * attr_cleartext_password
 
static fr_dict_attr_t const * attr_framed_mtu
 
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_t const * dict_freeradius
 
static fr_dict_t const * dict_radius
 
rlm_eap_submodule_t rlm_eap_pwd
 
fr_dict_autoload_t rlm_eap_pwd_dict []
 
fr_dict_attr_autoload_t rlm_eap_pwd_dict_attr []
 
static conf_parser_t submodule_config []
 

Data Structure Documentation

◆ rlm_eap_pwd_t

struct rlm_eap_pwd_t

Definition at line 42 of file rlm_eap_pwd.c.

Data Fields
BN_CTX * bnctx
uint32_t fragment_size
uint32_t group
char const * server_id
char const * virtual_server

Macro Definition Documentation

◆ MPPE_KEY_LEN

#define MPPE_KEY_LEN   32

Definition at line 51 of file rlm_eap_pwd.c.

◆ MSK_EMSK_LEN

#define MSK_EMSK_LEN   (2 * MPPE_KEY_LEN)

Definition at line 52 of file rlm_eap_pwd.c.

Function Documentation

◆ _free_pwd_session()

static int _free_pwd_session ( pwd_session_t session)
static

Definition at line 471 of file rlm_eap_pwd.c.

+ Here is the caller graph for this function:

◆ mod_detach()

static int mod_detach ( module_detach_ctx_t const *  mctx)
static

Definition at line 545 of file rlm_eap_pwd.c.

◆ mod_instantiate()

static int mod_instantiate ( module_inst_ctx_t const *  mctx)
static

Definition at line 554 of file rlm_eap_pwd.c.

◆ mod_process()

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

Definition at line 155 of file rlm_eap_pwd.c.

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

◆ mod_session_init()

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

Definition at line 487 of file rlm_eap_pwd.c.

+ Here is the call graph for this function:

◆ send_pwd_request()

static int send_pwd_request ( request_t request,
pwd_session_t session,
eap_round_t eap_round 
)
static

Definition at line 85 of file rlm_eap_pwd.c.

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

Variable Documentation

◆ attr_cleartext_password

fr_dict_attr_t const* attr_cleartext_password
static

Definition at line 71 of file rlm_eap_pwd.c.

◆ attr_framed_mtu

fr_dict_attr_t const* attr_framed_mtu
static

Definition at line 72 of file rlm_eap_pwd.c.

◆ attr_ms_mppe_recv_key

fr_dict_attr_t const* attr_ms_mppe_recv_key
static

Definition at line 74 of file rlm_eap_pwd.c.

◆ attr_ms_mppe_send_key

fr_dict_attr_t const* attr_ms_mppe_send_key
static

Definition at line 73 of file rlm_eap_pwd.c.

◆ dict_freeradius

fr_dict_t const* dict_freeradius
static

Definition at line 61 of file rlm_eap_pwd.c.

◆ dict_radius

fr_dict_t const* dict_radius
static

Definition at line 62 of file rlm_eap_pwd.c.

◆ rlm_eap_pwd

rlm_eap_submodule_t rlm_eap_pwd
Initial value:
= {
.common = {
.name = "eap_pwd",
.inst_size = sizeof(rlm_eap_pwd_t),
.detach = mod_detach
},
.provides = { FR_EAP_METHOD_PWD },
.session_init = mod_session_init,
}
#define MODULE_MAGIC_INIT
Stop people using different module/library/server versions together.
Definition: dl_module.h:65
@ FR_EAP_METHOD_PWD
Definition: types.h:98
static const conf_parser_t config[]
Definition: base.c:188
static int mod_detach(module_detach_ctx_t const *mctx)
Definition: rlm_eap_pwd.c:545
static conf_parser_t submodule_config[]
Definition: rlm_eap_pwd.c:54
static int mod_instantiate(module_inst_ctx_t const *mctx)
Definition: rlm_eap_pwd.c:554
static unlang_action_t mod_session_init(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
Definition: rlm_eap_pwd.c:487
static int instantiate(module_inst_ctx_t const *mctx)
Definition: rlm_rest.c:1312

Definition at line 587 of file rlm_eap_pwd.c.

◆ rlm_eap_pwd_dict

fr_dict_autoload_t rlm_eap_pwd_dict
Initial value:
= {
{ .out = &dict_freeradius, .proto = "freeradius" },
{ .out = &dict_radius, .proto = "radius" },
{ NULL }
}
static fr_dict_t const * dict_freeradius
Definition: rlm_eap_pwd.c:61
static fr_dict_t const * dict_radius
Definition: rlm_eap_pwd.c:62

Definition at line 65 of file rlm_eap_pwd.c.

◆ rlm_eap_pwd_dict_attr

fr_dict_attr_autoload_t rlm_eap_pwd_dict_attr
Initial value:
= {
{ .out = &attr_cleartext_password, .name = "Password.Cleartext", .type = FR_TYPE_STRING, .dict = &dict_freeradius },
{ .out = &attr_framed_mtu, .name = "Framed-MTU", .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_STRING
String of printable characters.
Definition: merged_model.c:83
@ FR_TYPE_UINT32
32 Bit unsigned integer.
Definition: merged_model.c:99
@ FR_TYPE_OCTETS
Raw octets.
Definition: merged_model.c:84
static fr_dict_attr_t const * attr_ms_mppe_send_key
Definition: rlm_eap_pwd.c:73
static fr_dict_attr_t const * attr_cleartext_password
Definition: rlm_eap_pwd.c:71
static fr_dict_attr_t const * attr_framed_mtu
Definition: rlm_eap_pwd.c:72
static fr_dict_attr_t const * attr_ms_mppe_recv_key
Definition: rlm_eap_pwd.c:74

Definition at line 77 of file rlm_eap_pwd.c.

◆ submodule_config

conf_parser_t submodule_config[]
static
Initial value:
= {
{ FR_CONF_OFFSET("group", rlm_eap_pwd_t, group), .dflt = "19" },
{ FR_CONF_OFFSET("fragment_size", rlm_eap_pwd_t, fragment_size), .dflt = "1020" },
{ FR_CONF_OFFSET_FLAGS("server_id", CONF_FLAG_REQUIRED, rlm_eap_pwd_t, server_id) },
}
#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
#define FR_CONF_OFFSET_FLAGS(_name, _flags, _struct, _field)
conf_parser_t which parses a single CONF_PAIR, writing the result to a field in a struct
Definition: cf_parse.h:256
@ CONF_FLAG_REQUIRED
Error out if no matching CONF_PAIR is found, and no dflt value is set.
Definition: cf_parse.h:406

Definition at line 54 of file rlm_eap_pwd.c.