Apache HTTPD
Classes | Macros | Enumerations | Functions | Variables
mod_setenvif.c File Reference
#include "apr.h"
#include "apr_strings.h"
#include "apr_strmatch.h"
#include "apr_want.h"
#include "ap_config.h"
#include "httpd.h"
#include "http_config.h"
#include "http_core.h"
#include "http_log.h"
#include "http_protocol.h"

Go to the source code of this file.

Classes

struct  sei_entry
 
struct  sei_cfg_rec
 

Macros

#define APR_WANT_STRFUNC
 
#define ICASE_MAGIC   ((void *)(&setenvif_module))
 
#define SEI_MAGIC_HEIRLOOM   "setenvif-phase-flag"
 

Enumerations

enum  special {
  SPECIAL_NOT , SPECIAL_REMOTE_ADDR , SPECIAL_REMOTE_HOST , SPECIAL_REQUEST_URI ,
  SPECIAL_REQUEST_METHOD , SPECIAL_REQUEST_PROTOCOL , SPECIAL_SERVER_ADDR
}
 

Functions

static void * create_setenvif_config (apr_pool_t *p)
 
static void * create_setenvif_config_svr (apr_pool_t *p, server_rec *dummy)
 
static void * create_setenvif_config_dir (apr_pool_t *p, char *dummy)
 
static void * merge_setenvif_config (apr_pool_t *p, void *basev, void *overridesv)
 
static int is_header_regex (apr_pool_t *p, const char *name)
 
static const charnon_regex_pattern (apr_pool_t *p, const char *s)
 
static const charadd_envvars (cmd_parms *cmd, const char *args, sei_entry *new)
 
static const charadd_setenvif_core (cmd_parms *cmd, void *mconfig, char *fname, const char *args)
 
static const charadd_setenvif (cmd_parms *cmd, void *mconfig, const char *args)
 
static const charadd_setenvifexpr (cmd_parms *cmd, void *mconfig, const char *args)
 
static const charadd_browser (cmd_parms *cmd, void *mconfig, const char *args)
 
static int match_headers (request_rec *r)
 
static void register_hooks (apr_pool_t *p)
 

Variables

static ap_regex_tis_header_regex_regex
 
static const command_rec setenvif_module_cmds []
 
static int *const aplog_module_index = &( setenvif_module.module_index)
 

Macro Definition Documentation

◆ APR_WANT_STRFUNC

#define APR_WANT_STRFUNC

Definition at line 87 of file mod_setenvif.c.

◆ ICASE_MAGIC

#define ICASE_MAGIC   ((void *)(&setenvif_module))

Definition at line 165 of file mod_setenvif.c.

◆ SEI_MAGIC_HEIRLOOM

#define SEI_MAGIC_HEIRLOOM   "setenvif-phase-flag"

Definition at line 166 of file mod_setenvif.c.

Enumeration Type Documentation

◆ special

Enumerator
SPECIAL_NOT 
SPECIAL_REMOTE_ADDR 
SPECIAL_REMOTE_HOST 
SPECIAL_REQUEST_URI 
SPECIAL_REQUEST_METHOD 
SPECIAL_REQUEST_PROTOCOL 
SPECIAL_SERVER_ADDR 

Definition at line 97 of file mod_setenvif.c.

Function Documentation

◆ add_browser()

static const char * add_browser ( cmd_parms cmd,
void *  mconfig,
const char args 
)
static

Definition at line 461 of file mod_setenvif.c.

◆ add_envvars()

static const char * add_envvars ( cmd_parms cmd,
const char args,
sei_entry new 
)
static

Definition at line 249 of file mod_setenvif.c.

◆ add_setenvif()

static const char * add_setenvif ( cmd_parms cmd,
void *  mconfig,
const char args 
)
static

Definition at line 404 of file mod_setenvif.c.

◆ add_setenvif_core()

static const char * add_setenvif_core ( cmd_parms cmd,
void *  mconfig,
char fname,
const char args 
)
static

unused

use a case-insensitive match

unused

unused

use a case-insensitive match

Definition at line 282 of file mod_setenvif.c.

◆ add_setenvifexpr()

static const char * add_setenvifexpr ( cmd_parms cmd,
void *  mconfig,
const char args 
)
static

Definition at line 418 of file mod_setenvif.c.

◆ create_setenvif_config()

static void * create_setenvif_config ( apr_pool_t p)
static

Definition at line 133 of file mod_setenvif.c.

◆ create_setenvif_config_dir()

static void * create_setenvif_config_dir ( apr_pool_t p,
char dummy 
)
static

Definition at line 146 of file mod_setenvif.c.

◆ create_setenvif_config_svr()

static void * create_setenvif_config_svr ( apr_pool_t p,
server_rec dummy 
)
static

Definition at line 141 of file mod_setenvif.c.

◆ is_header_regex()

static int is_header_regex ( apr_pool_t p,
const char name 
)
static

Definition at line 170 of file mod_setenvif.c.

◆ match_headers()

static int match_headers ( request_rec r)
static

< Module declines to handle

Definition at line 491 of file mod_setenvif.c.

◆ merge_setenvif_config()

static void * merge_setenvif_config ( apr_pool_t p,
void *  basev,
void *  overridesv 
)
static

Definition at line 151 of file mod_setenvif.c.

◆ non_regex_pattern()

static const char * non_regex_pattern ( apr_pool_t p,
const char s 
)
static

Definition at line 190 of file mod_setenvif.c.

◆ register_hooks()

static void register_hooks ( apr_pool_t p)
static

unused

unused

Definition at line 639 of file mod_setenvif.c.

Variable Documentation

◆ aplog_module_index

int* const aplog_module_index = &( setenvif_module.module_index)
static

Definition at line 649 of file mod_setenvif.c.

◆ is_header_regex_regex

ap_regex_t* is_header_regex_regex
static

Definition at line 168 of file mod_setenvif.c.

◆ setenvif_module_cmds

const command_rec setenvif_module_cmds[]
static
Initial value:
=
{
{ "SetEnvIf" , add_setenvif , NULL , 4 , RAW_ARGS, "A header-name, regex and a list of variables." },
{ "SetEnvIfNoCase" , add_setenvif , ((void *)(&setenvif_module)) , 4 , RAW_ARGS, "a header-name, regex and a list of variables." },
{ "SetEnvIfExpr" , add_setenvifexpr , NULL , 4 , RAW_ARGS, "an expression and a list of variables." },
{ "BrowserMatch" , add_browser , NULL , 4 , RAW_ARGS, "A browser regex and a list of variables." },
{ "BrowserMatchNoCase" , add_browser , ((void *)(&setenvif_module)) , 4 , RAW_ARGS, "A browser regex and a list of variables." },
{ NULL },
}
@ RAW_ARGS
Definition http_config.h:50
static const char * add_setenvifexpr(cmd_parms *cmd, void *mconfig, const char *args)
static const char * add_browser(cmd_parms *cmd, void *mconfig, const char *args)
static const char * add_setenvif(cmd_parms *cmd, void *mconfig, const char *args)
return NULL
Definition mod_so.c:359

Definition at line 466 of file mod_setenvif.c.