Translates requests between the server an a perl interpreter.
More...
#include <freeradius-devel/radiusd.h>
#include <freeradius-devel/modules.h>
#include <freeradius-devel/rad_assert.h>
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
#include <dlfcn.h>
#include <semaphore.h>
Go to the source code of this file.
|
EXTERN_C void | boot_DynaLoader (pTHX_ CV *cv) |
|
static rlm_rcode_t | CC_HINT (nonnull) |
|
static int | do_perl (void *instance, REQUEST *request, char const *function_name) |
|
static int | get_hv_content (TALLOC_CTX *ctx, REQUEST *request, HV *my_hv, VALUE_PAIR **vps, const char *hash_name, const char *list_name) |
|
static int | mod_bootstrap (CONF_SECTION *conf, void *instance) |
|
static int | mod_detach (void *instance) |
|
static int | mod_instantiate (CONF_SECTION *conf, void *instance) |
|
static int | pairadd_sv (TALLOC_CTX *ctx, REQUEST *request, VALUE_PAIR **vps, char *key, SV *sv, FR_TOKEN op, const char *hash_name, const char *list_name) |
|
static void | perl_parse_config (CONF_SECTION *cs, int lvl, HV *rad_hv) |
|
static void | perl_store_vps (UNUSED TALLOC_CTX *ctx, REQUEST *request, VALUE_PAIR **vps, HV *rad_hv, const char *hash_name, const char *list_name) |
|
static void | perl_vp_to_svpvn_element (REQUEST *request, AV *av, VALUE_PAIR const *vp, int *i, const char *hash_name, const char *list_name) |
|
static ssize_t | perl_xlat (char **out, size_t outlen, void const *mod_inst, UNUSED void const *xlat_inst, REQUEST *request, char const *fmt) |
|
static | XS (XS_radiusd_radlog) |
|
static void | xs_init (pTHX) |
|
Translates requests between the server an a perl interpreter.
- Id:
- 5c0f89825deb3ba0fed1852efff8ec395894ef79
- Copyright
- 2002,2006 The FreeRADIUS server project
-
2002 Boian Jordanov bjord.nosp@m.anov.nosp@m.@orbi.nosp@m.tel..nosp@m.bg
Definition in file rlm_perl.c.
Definition at line 51 of file rlm_perl.c.
Data Fields |
char const * |
func_accounting |
|
char const * |
func_authenticate |
|
char const * |
func_authorize |
|
char const * |
func_checksimul |
|
char const * |
func_detach |
|
char const * |
func_post_auth |
|
char const * |
func_post_proxy |
|
char const * |
func_pre_proxy |
|
char const * |
func_preacct |
|
char const * |
func_recv_coa |
|
char const * |
func_send_coa |
|
char const * |
func_start_accounting |
|
char const * |
func_stop_accounting |
|
char const * |
func_xlat |
|
char const * |
module |
|
PerlInterpreter * |
perl |
|
char const * |
perl_flags |
|
bool |
perl_parsed |
|
HV * |
rad_perlconf_hv |
holds "config" items (perl RAD_PERLCONF hash). |
pthread_key_t * |
thread_key |
|
char const * |
xlat_name |
|
#define RLM_PERL_CONF |
( |
|
_x | ) |
|
Value:
String of printable characters.
Definition at line 90 of file rlm_perl.c.
#define RLM_PERL_FUNC |
( |
|
_x | ) |
|
Value:
{ \
return do_perl(instance, request, \
((rlm_perl_t *)instance)->func_##_x); \
}
enum rlm_rcodes rlm_rcode_t
Return codes indicating the result of the module call.
static rlm_rcode_t CC_HINT(nonnull)
Definition at line 949 of file rlm_perl.c.
EXTERN_C void boot_DynaLoader |
( |
pTHX_ CV * |
cv | ) |
|
static int do_perl |
( |
void * |
instance, |
|
|
REQUEST * |
request, |
|
|
char const * |
function_name |
|
) |
| |
|
static |
static int get_hv_content |
( |
TALLOC_CTX * |
ctx, |
|
|
REQUEST * |
request, |
|
|
HV * |
my_hv, |
|
|
VALUE_PAIR ** |
vps, |
|
|
const char * |
hash_name, |
|
|
const char * |
list_name |
|
) |
| |
|
static |
static int mod_bootstrap |
( |
CONF_SECTION * |
conf, |
|
|
void * |
instance |
|
) |
| |
|
static |
static int mod_detach |
( |
void * |
instance | ) |
|
|
static |
static int mod_instantiate |
( |
CONF_SECTION * |
conf, |
|
|
void * |
instance |
|
) |
| |
|
static |
static int pairadd_sv |
( |
TALLOC_CTX * |
ctx, |
|
|
REQUEST * |
request, |
|
|
VALUE_PAIR ** |
vps, |
|
|
char * |
key, |
|
|
SV * |
sv, |
|
|
FR_TOKEN |
op, |
|
|
const char * |
hash_name, |
|
|
const char * |
list_name |
|
) |
| |
|
static |
static void perl_parse_config |
( |
CONF_SECTION * |
cs, |
|
|
int |
lvl, |
|
|
HV * |
rad_hv |
|
) |
| |
|
static |
static void perl_store_vps |
( |
UNUSED TALLOC_CTX * |
ctx, |
|
|
REQUEST * |
request, |
|
|
VALUE_PAIR ** |
vps, |
|
|
HV * |
rad_hv, |
|
|
const char * |
hash_name, |
|
|
const char * |
list_name |
|
) |
| |
|
static |
static void perl_vp_to_svpvn_element |
( |
REQUEST * |
request, |
|
|
AV * |
av, |
|
|
VALUE_PAIR const * |
vp, |
|
|
int * |
i, |
|
|
const char * |
hash_name, |
|
|
const char * |
list_name |
|
) |
| |
|
static |
static ssize_t perl_xlat |
( |
char ** |
out, |
|
|
size_t |
outlen, |
|
|
void const * |
mod_inst, |
|
|
UNUSED void const * |
xlat_inst, |
|
|
REQUEST * |
request, |
|
|
char const * |
fmt |
|
) |
| |
|
static |
static XS |
( |
XS_radiusd_radlog |
| ) |
|
|
static |
static void xs_init |
( |
pTHX |
| ) |
|
|
static |
Initial value:= {
}
#define PW_TYPE_FILE_INPUT
File matching value must exist, and must be readable.
#define CONF_PARSER_TERMINATOR
#define RLM_PERL_CONF(_x)
#define FR_CONF_OFFSET(_n, _t, _s, _f)
#define PW_TYPE_REQUIRED
Error out if no matching CONF_PAIR is found, and no dflt value is set.
String of printable characters.
Definition at line 93 of file rlm_perl.c.
Initial value:= {
.name = "perl",
.methods = {
},
}
5 methods index for preproxy section.
static rlm_rcode_t mod_accounting(void *instance, REQUEST *request)
Write accounting data to Couchbase documents.
static rlm_rcode_t mod_post_auth(void *instance, REQUEST *request) CC_HINT(nonnull)
#define RLM_TYPE_THREAD_UNSAFE
Module is not threadsafe.
7 methods index for postauth section.
static rlm_rcode_t mod_authorize(void *instance, REQUEST *request)
Handle authorization requests using Couchbase document data.
struct rlm_perl_t rlm_perl_t
static rlm_rcode_t mod_authenticate(void *instance, REQUEST *request) CC_HINT(nonnull)
4 methods index for checksimul section.
3 methods index for accounting section.
static int mod_detach(void *instance)
static rlm_rcode_t mod_checksimul(void *instance, REQUEST *request)
Check if a given user is already logged in.
0 methods index for authenticate section.
static int mod_bootstrap(CONF_SECTION *conf, void *instance)
6 methods index for postproxy section.
2 methods index for preacct section.
8 methods index for recvcoa section.
static const CONF_PARSER module_config[]
9 methods index for sendcoa section.
1 methods index for authorize section.
static int mod_instantiate(CONF_SECTION *conf, void *instance)
Definition at line 1070 of file rlm_perl.c.