mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-29 19:24:29 +03:00
Added support for MATCHED_VAR and MATCHED_VAR_NAME. See #123.
This commit is contained in:
@@ -843,8 +843,23 @@ static int var_ip_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
||||
static int var_matched_var_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
||||
apr_table_t *vartab, apr_pool_t *mptmp)
|
||||
{
|
||||
return var_simple_generate(var, vartab, mptmp,
|
||||
apr_pstrdup(mptmp, msr->matched_var));
|
||||
return var_simple_generate_ex(var, vartab, mptmp,
|
||||
apr_pmemdup(mptmp,
|
||||
msr->matched_var->value,
|
||||
msr->matched_var->value_len),
|
||||
msr->matched_var->value_len);
|
||||
}
|
||||
|
||||
/* MATCHED_VAR_NAME */
|
||||
|
||||
static int var_matched_var_name_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
||||
apr_table_t *vartab, apr_pool_t *mptmp)
|
||||
{
|
||||
return var_simple_generate_ex(var, vartab, mptmp,
|
||||
apr_pmemdup(mptmp,
|
||||
msr->matched_var->name,
|
||||
msr->matched_var->name_len),
|
||||
msr->matched_var->name_len);
|
||||
}
|
||||
|
||||
/* SESSION */
|
||||
@@ -2312,6 +2327,17 @@ void msre_engine_register_default_variables(msre_engine *engine) {
|
||||
PHASE_REQUEST_HEADERS
|
||||
);
|
||||
|
||||
/* MATCHED_VAR_NAME */
|
||||
msre_engine_variable_register(engine,
|
||||
"MATCHED_VAR_NAME",
|
||||
VAR_SIMPLE,
|
||||
0, 0,
|
||||
NULL,
|
||||
var_matched_var_name_generate,
|
||||
VAR_DONT_CACHE,
|
||||
PHASE_REQUEST_HEADERS
|
||||
);
|
||||
|
||||
/* MODSEC_BUILD */
|
||||
msre_engine_variable_register(engine,
|
||||
"MODSEC_BUILD",
|
||||
|
Reference in New Issue
Block a user