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

Go to the source code of this file.

Data Structures

struct  rlm_eap_tls_thread_t
 

Functions

static unlang_action_t mod_handshake_done (rlm_rcode_t *p_result, UNUSED module_ctx_t const *mctx, UNUSED request_t *request)
 
static unlang_action_t mod_handshake_process (UNUSED rlm_rcode_t *p_result, UNUSED module_ctx_t const *mctx, request_t *request)
 
static unlang_action_t mod_handshake_resume (rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
 
static int mod_instantiate (module_inst_ctx_t const *mctx)
 
static unlang_action_t mod_session_init (rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
 
static int mod_thread_detach (module_thread_inst_ctx_t const *mctx)
 
static int mod_thread_instantiate (module_thread_inst_ctx_t const *mctx)
 

Variables

static fr_dict_attr_t const * attr_eap_tls_require_client_cert
 
static fr_dict_t const * dict_freeradius
 
rlm_eap_submodule_t rlm_eap_tls
 
fr_dict_autoload_t rlm_eap_tls_dict []
 
fr_dict_attr_autoload_t rlm_eap_tls_dict_attr []
 
static conf_parser_t submodule_config []
 

Data Structure Documentation

◆ rlm_eap_tls_thread_t

struct rlm_eap_tls_thread_t

Definition at line 41 of file rlm_eap_tls.c.

Data Fields
SSL_CTX * ssl_ctx Thread local SSL_CTX.

Function Documentation

◆ mod_handshake_done()

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

Definition at line 70 of file rlm_eap_tls.c.

+ Here is the caller graph for this function:

◆ mod_handshake_process()

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

Definition at line 166 of file rlm_eap_tls.c.

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

◆ mod_handshake_resume()

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

Definition at line 76 of file rlm_eap_tls.c.

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

◆ mod_instantiate()

static int mod_instantiate ( module_inst_ctx_t const *  mctx)
static

Definition at line 254 of file rlm_eap_tls.c.

+ Here is the call 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 185 of file rlm_eap_tls.c.

+ Here is the call graph for this function:

◆ mod_thread_detach()

static int mod_thread_detach ( module_thread_inst_ctx_t const *  mctx)
static

Definition at line 241 of file rlm_eap_tls.c.

◆ mod_thread_instantiate()

static int mod_thread_instantiate ( module_thread_inst_ctx_t const *  mctx)
static

Definition at line 230 of file rlm_eap_tls.c.

Variable Documentation

◆ attr_eap_tls_require_client_cert

fr_dict_attr_t const* attr_eap_tls_require_client_cert
static

Definition at line 62 of file rlm_eap_tls.c.

◆ dict_freeradius

fr_dict_t const* dict_freeradius
static

Definition at line 54 of file rlm_eap_tls.c.

◆ rlm_eap_tls

rlm_eap_submodule_t rlm_eap_tls
Initial value:
= {
.common = {
.name = "eap_tls",
.inst_size = sizeof(rlm_eap_tls_t),
.thread_inst_size = sizeof(rlm_eap_tls_thread_t),
.thread_instantiate = mod_thread_instantiate,
.thread_detach = mod_thread_detach,
},
.provides = { FR_EAP_METHOD_TLS },
.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_TLS
Definition: types.h:58
static const conf_parser_t config[]
Definition: base.c:188
static int mod_thread_instantiate(module_thread_inst_ctx_t const *mctx)
Definition: rlm_eap_tls.c:230
static conf_parser_t submodule_config[]
Definition: rlm_eap_tls.c:45
static int mod_thread_detach(module_thread_inst_ctx_t const *mctx)
Definition: rlm_eap_tls.c:241
static int mod_instantiate(module_inst_ctx_t const *mctx)
Definition: rlm_eap_tls.c:254
static unlang_action_t mod_session_init(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
Definition: rlm_eap_tls.c:185
static int instantiate(module_inst_ctx_t const *mctx)
Definition: rlm_rest.c:1312

Definition at line 278 of file rlm_eap_tls.c.

◆ rlm_eap_tls_dict

fr_dict_autoload_t rlm_eap_tls_dict
Initial value:
= {
{ .out = &dict_freeradius, .proto = "freeradius" },
{ NULL }
}
static fr_dict_t const * dict_freeradius
Definition: rlm_eap_tls.c:54

Definition at line 57 of file rlm_eap_tls.c.

◆ rlm_eap_tls_dict_attr

fr_dict_attr_autoload_t rlm_eap_tls_dict_attr
Initial value:
= {
{ .out = &attr_eap_tls_require_client_cert, .name = "EAP-TLS-Require-Client-Cert", .type = FR_TYPE_UINT32, .dict = &dict_freeradius },
{ NULL }
}
@ FR_TYPE_UINT32
32 Bit unsigned integer.
Definition: merged_model.c:99
static fr_dict_attr_t const * attr_eap_tls_require_client_cert
Definition: rlm_eap_tls.c:62

Definition at line 65 of file rlm_eap_tls.c.

◆ submodule_config

conf_parser_t submodule_config[]
static
Initial value:
= {
{ FR_CONF_OFFSET("tls", rlm_eap_tls_t, tls_conf_name) },
{ FR_CONF_OFFSET("require_client_cert", rlm_eap_tls_t, req_client_cert), .dflt = "yes" },
{ FR_CONF_OFFSET("include_length", rlm_eap_tls_t, include_length), .dflt = "yes" },
{ FR_CONF_OFFSET("virtual_server", rlm_eap_tls_t, virtual_server) },
}
#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 45 of file rlm_eap_tls.c.