All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Typedefs | Functions | Variables
rlm_preprocess.c File Reference

Fixes up requests, and processes huntgroups/hints files. More...

#include <freeradius-devel/radiusd.h>
#include <freeradius-devel/modules.h>
#include <freeradius-devel/rad_assert.h>
#include <ctype.h>
+ Include dependency graph for rlm_preprocess.c:

Go to the source code of this file.

Data Structures

struct  cl_bcid_t
 
struct  cl_em_hdr_t
 
struct  cl_timezone_t
 
struct  rlm_preprocess_t
 

Typedefs

typedef struct cl_bcid_t cl_bcid_t
 
typedef struct cl_em_hdr_t cl_em_hdr_t
 
typedef struct cl_timezone_t cl_timezone_t
 
typedef struct rlm_preprocess_t rlm_preprocess_t
 

Functions

static int add_nas_attr (REQUEST *request)
 
static void alvarion_vsa_hack (VALUE_PAIR *vp)
 
static void ascend_nasport_hack (VALUE_PAIR *nas_port, int channels_per_line)
 
static void cablelabs_vsa_hack (VALUE_PAIR **list)
 
static rlm_rcode_t CC_HINT (nonnull)
 
static void cisco_vsa_hack (REQUEST *request)
 
static int fall_through (VALUE_PAIR *vp)
 
static int hints_setup (PAIR_LIST *hints, REQUEST *request)
 
static int hunt_paircmp (REQUEST *req, VALUE_PAIR *request, VALUE_PAIR *check)
 
static int huntgroup_access (REQUEST *request, PAIR_LIST *huntgroups)
 
static int mod_instantiate (UNUSED CONF_SECTION *conf, void *instance)
 
static void rad_mangle (rlm_preprocess_t *inst, REQUEST *request)
 

Variables

static const CONF_PARSER module_config []
 
module_t rlm_preprocess
 

Detailed Description

Fixes up requests, and processes huntgroups/hints files.

Id:
98c4a4a706a7edea01bb63cdb7105a4fbd90d5a5

Definition in file rlm_preprocess.c.


Data Structure Documentation

struct cl_bcid_t

Definition at line 218 of file rlm_preprocess.c.

+ Collaboration diagram for cl_bcid_t:
Data Fields
uint8_t element_id[8]
uint32_t event_counter
uint32_t timestamp
cl_timezone_t timezone
struct cl_em_hdr_t

Definition at line 225 of file rlm_preprocess.c.

+ Collaboration diagram for cl_em_hdr_t:
Data Fields
uint16_t attr_count
cl_bcid_t bcid
uint8_t element_id[8]
uint16_t element_type
uint8_t event_object
uint8_t event_time[18]
uint16_t message_type
uint8_t priority
uint32_t sequence_number
uint8_t status[4]
cl_timezone_t time_zone
uint16_t version
struct cl_timezone_t

Definition at line 210 of file rlm_preprocess.c.

Data Fields
uint8_t dst
uint8_t hh[2]
uint8_t mm[2]
uint8_t sign
uint8_t ss[2]
struct rlm_preprocess_t

Definition at line 33 of file rlm_preprocess.c.

+ Collaboration diagram for rlm_preprocess_t:
Data Fields
uint32_t ascend_channels_per_line
PAIR_LIST * hints
char const * hints_file
char const * huntgroup_file
PAIR_LIST * huntgroups
bool with_alvarion_vsa_hack
bool with_ascend_hack
bool with_cablelabs_vsa_hack
bool with_cisco_vsa_hack
bool with_ntdomain_hack
bool with_specialix_jetstream_hack

Typedef Documentation

typedef struct cl_bcid_t cl_bcid_t
typedef struct cl_em_hdr_t cl_em_hdr_t
typedef struct cl_timezone_t cl_timezone_t

Function Documentation

static int add_nas_attr ( REQUEST request)
static

Definition at line 484 of file rlm_preprocess.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void alvarion_vsa_hack ( VALUE_PAIR vp)
static

Definition at line 167 of file rlm_preprocess.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ascend_nasport_hack ( VALUE_PAIR nas_port,
int  channels_per_line 
)
static

Definition at line 79 of file rlm_preprocess.c.

+ Here is the caller graph for this function:

static void cablelabs_vsa_hack ( VALUE_PAIR **  list)
static

Definition at line 241 of file rlm_preprocess.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static rlm_rcode_t CC_HINT ( nonnull  )
static

Definition at line 553 of file rlm_preprocess.c.

+ Here is the call graph for this function:

static void cisco_vsa_hack ( REQUEST request)
static

Definition at line 105 of file rlm_preprocess.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int fall_through ( VALUE_PAIR vp)
static

Definition at line 66 of file rlm_preprocess.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int hints_setup ( PAIR_LIST hints,
REQUEST request 
)
static

Definition at line 372 of file rlm_preprocess.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int hunt_paircmp ( REQUEST req,
VALUE_PAIR request,
VALUE_PAIR check 
)
static

Definition at line 345 of file rlm_preprocess.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int huntgroup_access ( REQUEST request,
PAIR_LIST huntgroups 
)
static

Definition at line 434 of file rlm_preprocess.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int mod_instantiate ( UNUSED CONF_SECTION conf,
void *  instance 
)
static

Definition at line 518 of file rlm_preprocess.c.

+ Here is the call graph for this function:

static void rad_mangle ( rlm_preprocess_t inst,
REQUEST request 
)
static

Definition at line 259 of file rlm_preprocess.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

const CONF_PARSER module_config[]
static
Initial value:
= {
{ FR_CONF_OFFSET("huntgroups", PW_TYPE_FILE_INPUT, rlm_preprocess_t, huntgroup_file) },
{ FR_CONF_OFFSET("with_ascend_hack", PW_TYPE_BOOLEAN, rlm_preprocess_t, with_ascend_hack), .dflt = "no" },
{ FR_CONF_OFFSET("ascend_channels_per_line", PW_TYPE_INTEGER, rlm_preprocess_t, ascend_channels_per_line), .dflt = "23" },
{ FR_CONF_OFFSET("with_ntdomain_hack", PW_TYPE_BOOLEAN, rlm_preprocess_t, with_ntdomain_hack), .dflt = "no" },
{ FR_CONF_OFFSET("with_specialix_jetstream_hack", PW_TYPE_BOOLEAN, rlm_preprocess_t, with_specialix_jetstream_hack), .dflt = "no" },
{ FR_CONF_OFFSET("with_cisco_vsa_hack", PW_TYPE_BOOLEAN, rlm_preprocess_t, with_cisco_vsa_hack), .dflt = "no" },
{ FR_CONF_OFFSET("with_alvarion_vsa_hack", PW_TYPE_BOOLEAN, rlm_preprocess_t, with_alvarion_vsa_hack), .dflt = "no" },
}
#define PW_TYPE_FILE_INPUT
File matching value must exist, and must be readable.
Definition: conffile.h:204
#define CONF_PARSER_TERMINATOR
Definition: conffile.h:289
A truth value.
Definition: radius.h:56
32 Bit unsigned integer.
Definition: radius.h:34
#define FR_CONF_OFFSET(_n, _t, _s, _f)
Definition: conffile.h:168

Definition at line 47 of file rlm_preprocess.c.

module_t rlm_preprocess
Initial value:
= {
.magic = RLM_MODULE_INIT,
.name = "preprocess",
.inst_size = sizeof(rlm_preprocess_t),
.config = module_config,
.instantiate = mod_instantiate,
.methods = {
[MOD_PREACCT] = mod_preaccounting
},
}
static int mod_instantiate(UNUSED CONF_SECTION *conf, void *instance)
static rlm_rcode_t mod_authorize(void *instance, REQUEST *request)
Handle authorization requests using Couchbase document data.
#define RLM_MODULE_INIT
Definition: modules.h:86
struct rlm_preprocess_t rlm_preprocess_t
2 methods index for preacct section.
Definition: modules.h:43
static const CONF_PARSER module_config[]
1 methods index for authorize section.
Definition: modules.h:42

Definition at line 728 of file rlm_preprocess.c.