mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2026-01-01 22:25:45 +03:00
merge upstream & update configs
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* ModSecurity for Apache 2.x, http://www.modsecurity.org/
|
||||
* Copyright (c) 2004-2011 Trustwave Holdings, Inc. (http://www.trustwave.com/)
|
||||
* Copyright (c) 2004-2013 Trustwave Holdings, Inc. (http://www.trustwave.com/)
|
||||
*
|
||||
* You may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
@@ -511,6 +511,19 @@ static int var_reqbody_processor_generate(modsec_rec *msr, msre_var *var, msre_r
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* SDBM_DELETE_ERROR */
|
||||
static int var_sdbm_delete_error_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
||||
apr_table_t *vartab, apr_pool_t *mptmp)
|
||||
{
|
||||
msre_var *rvar = apr_pmemdup(mptmp, var, sizeof(msre_var));
|
||||
|
||||
rvar->value = apr_psprintf(mptmp, "%d", msr->msc_sdbm_delete_error);
|
||||
rvar->value_len = strlen(rvar->value);
|
||||
apr_table_addn(vartab, rvar->name, (void *)rvar);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* REQBODY_ERROR */
|
||||
|
||||
static int var_reqbody_processor_error_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
||||
@@ -700,13 +713,22 @@ static int var_useragent_ip_generate(modsec_rec *msr, msre_var *var, msre_rule *
|
||||
static int var_remote_addr_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
||||
apr_table_t *vartab, apr_pool_t *mptmp)
|
||||
{
|
||||
#if !defined(MSC_TEST)
|
||||
#if AP_SERVER_MAJORVERSION_NUMBER > 1 && AP_SERVER_MINORVERSION_NUMBER > 3
|
||||
if (ap_find_linked_module("mod_remoteip.c") != NULL) {
|
||||
if(msr->r->useragent_ip != NULL) msr->remote_addr = apr_pstrdup(msr->mp, msr->r->useragent_ip);
|
||||
return var_simple_generate(var, vartab, mptmp, msr->remote_addr);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
return var_simple_generate(var, vartab, mptmp, msr->remote_addr);
|
||||
}
|
||||
|
||||
/* REMOTE_HOST */
|
||||
|
||||
static int var_remote_host_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
||||
apr_table_t *vartab, apr_pool_t *mptmp)
|
||||
apr_table_t *vartab, apr_pool_t *mptmp)
|
||||
{
|
||||
const char *value1 = ap_get_remote_host(msr->r->connection, msr->r->per_dir_config,
|
||||
REMOTE_NAME, NULL);
|
||||
@@ -3117,6 +3139,16 @@ void msre_engine_register_default_variables(msre_engine *engine) {
|
||||
PHASE_REQUEST_HEADERS
|
||||
);
|
||||
|
||||
msre_engine_variable_register(engine,
|
||||
"SDBM_DELETE_ERROR",
|
||||
VAR_SIMPLE,
|
||||
0, 0,
|
||||
NULL,
|
||||
var_sdbm_delete_error_generate,
|
||||
VAR_DONT_CACHE, /* dynamic */
|
||||
PHASE_REQUEST_BODY
|
||||
);
|
||||
|
||||
/* REQBODY_PROCESSOR_ERROR - Deprecated */
|
||||
msre_engine_variable_register(engine,
|
||||
"REQBODY_PROCESSOR_ERROR",
|
||||
|
||||
Reference in New Issue
Block a user