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

Session tracking using redis. More...

#include <freeradius-devel/radiusd.h>
#include <freeradius-devel/modules.h>
#include <freeradius-devel/modpriv.h>
#include <freeradius-devel/rad_assert.h>
#include "../rlm_redis/redis.h"
#include "../rlm_redis/cluster.h"
+ Include dependency graph for rlm_rediswho.c:

Go to the source code of this file.

Data Structures

struct  rlm_rediswho
 

Typedefs

typedef struct rlm_rediswho rlm_rediswho_t
 

Functions

static rlm_rcode_t CC_HINT (nonnull)
 
static rlm_rcode_t mod_accounting_all (rlm_rediswho_t *inst, REQUEST *request, char const *insert, char const *trim, char const *expire)
 
static int mod_bootstrap (CONF_SECTION *conf, void *instance)
 
static int mod_instantiate (CONF_SECTION *conf, void *instance)
 
static int rediswho_command (rlm_rediswho_t *inst, REQUEST *request, char const *fmt)
 

Variables

static CONF_PARSER module_config []
 
module_t rlm_rediswho
 
static CONF_PARSER section_config []
 

Detailed Description

Session tracking using redis.

Id:
d51aef375fd8027bee0a0a7c56a3020b1a8c35ec
Author
Gabriel Blanchard

Definition in file rlm_rediswho.c.


Data Structure Documentation

struct rlm_rediswho

Definition at line 39 of file rlm_rediswho.c.

+ Collaboration diagram for rlm_rediswho:
Data Fields
fr_redis_cluster_t * cluster Pool O pools.
fr_redis_conf_t * conf Connection parameters for the Redis server.

Must be first field in this struct.

CONF_SECTION * cs
char const * expire Command for expiring entries.
int expiry_time Expiry time in seconds if no updates are received for a user.
char const * insert Command for inserting session data.
char const * name Instance name.
char const * trim Command for trimming the session list.
int trim_count How many session updates to keep track of per user.

Typedef Documentation

typedef struct rlm_rediswho rlm_rediswho_t

Function Documentation

static rlm_rcode_t CC_HINT ( nonnull  )
static

Definition at line 190 of file rlm_rediswho.c.

+ Here is the call graph for this function:

static rlm_rcode_t mod_accounting_all ( rlm_rediswho_t inst,
REQUEST request,
char const *  insert,
char const *  trim,
char const *  expire 
)
static

Definition at line 171 of file rlm_rediswho.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int mod_bootstrap ( CONF_SECTION conf,
void *  instance 
)
static

Definition at line 158 of file rlm_rediswho.c.

+ Here is the call graph for this function:

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

Definition at line 148 of file rlm_rediswho.c.

+ Here is the call graph for this function:

static int rediswho_command ( rlm_rediswho_t inst,
REQUEST request,
char const *  fmt 
)
static

Definition at line 82 of file rlm_rediswho.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

CONF_PARSER module_config[]
static
Initial value:
= {
{ FR_CONF_OFFSET("trim_count", PW_TYPE_SIGNED, rlm_rediswho_t, trim_count), .dflt = "-1" },
{ FR_CONF_POINTER("Start", PW_TYPE_SUBSECTION, NULL), .dflt = section_config },
{ FR_CONF_POINTER("Interim-Update", PW_TYPE_SUBSECTION, NULL), .dflt = section_config },
{ FR_CONF_POINTER("Stop", PW_TYPE_SUBSECTION, NULL), .dflt = section_config },
}
32 Bit signed integer.
Definition: radius.h:45
#define CONF_PARSER_TERMINATOR
Definition: conffile.h:289
#define PW_TYPE_SUBSECTION
Definition: conffile.h:188
#define REDIS_COMMON_CONFIG
Definition: redis.h:106
static CONF_PARSER section_config[]
Definition: rlm_rediswho.c:56
#define FR_CONF_OFFSET(_n, _t, _s, _f)
Definition: conffile.h:168
#define FR_CONF_POINTER(_n, _t, _p)
Definition: conffile.h:172

Definition at line 63 of file rlm_rediswho.c.

Initial value:
= {
.magic = RLM_MODULE_INIT,
.name = "rediswho",
.inst_size = sizeof(rlm_rediswho_t),
.config = module_config,
.instantiate = mod_instantiate,
.bootstrap = mod_bootstrap,
.methods = {
},
}
static rlm_rcode_t mod_accounting(void *instance, REQUEST *request)
Write accounting data to Couchbase documents.
#define RLM_TYPE_THREAD_SAFE
Module is threadsafe.
Definition: modules.h:75
#define RLM_MODULE_INIT
Definition: modules.h:86
static CONF_PARSER module_config[]
Definition: rlm_rediswho.c:63
3 methods index for accounting section.
Definition: modules.h:44
static int mod_bootstrap(CONF_SECTION *conf, void *instance)
Definition: rlm_rediswho.c:158
struct rlm_rediswho rlm_rediswho_t
static int mod_instantiate(CONF_SECTION *conf, void *instance)
Definition: rlm_rediswho.c:148

Definition at line 227 of file rlm_rediswho.c.

CONF_PARSER section_config[]
static
Initial value:
= {
}
#define CONF_PARSER_TERMINATOR
Definition: conffile.h:289
#define PW_TYPE_XLAT
string will be dynamically expanded.
Definition: conffile.h:207
#define FR_CONF_OFFSET(_n, _t, _s, _f)
Definition: conffile.h:168
#define PW_TYPE_REQUIRED
Error out if no matching CONF_PAIR is found, and no dflt value is set.
Definition: conffile.h:200
String of printable characters.
Definition: radius.h:33

Definition at line 56 of file rlm_rediswho.c.