Add REQUEST_BODY_LENGTH.

This commit is contained in:
ivanr 2010-02-02 13:48:30 +00:00
parent b8837bbfb2
commit 5c4733f1ab
2 changed files with 24 additions and 1 deletions

View File

@ -1,7 +1,10 @@
1 Feb 2010 - trunk
2 Feb 2010 - trunk
-------------------
* Add REQUEST_BODY_LENGTH, which contains the number of request body
bytes read. [Ivan Ristic]
* Integrate with mod_log_config using the %{VARNAME}M format string.
(MODSEC-108) [Ivan Ristic]

View File

@ -1765,6 +1765,15 @@ static int var_request_body_generate(modsec_rec *msr, msre_var *var, msre_rule *
return 0;
}
/* REQUEST_BODY_LENGTH */
static int var_request_body_length_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
apr_table_t *vartab, apr_pool_t *mptmp)
{
char *value = apr_psprintf(mptmp, "%d", msr->msc_reqbody_length);
return var_simple_generate(var, vartab, mptmp, value);
}
/* REQUEST_COOKIES */
static int var_request_cookies_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
@ -2778,6 +2787,17 @@ void msre_engine_register_default_variables(msre_engine *engine) {
VAR_CACHE,
PHASE_REQUEST_BODY
);
/* REQUEST_BODY_LENGTH */
msre_engine_variable_register(engine,
"REQUEST_BODY_LENGTH",
VAR_SIMPLE,
0, 0,
NULL,
var_request_body_length_generate,
VAR_CACHE,
PHASE_REQUEST_BODY
);
/* REQUEST_COOKIES */
msre_engine_variable_register(engine,