mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-15 23:55:03 +03:00
Added: SDBM_DELETE_ERROR variable
This commit is contained in:
parent
eb95384577
commit
29ed5c4dc7
@ -442,6 +442,8 @@ struct modsec_rec {
|
|||||||
lua_State *L;
|
lua_State *L;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
int msc_sdbm_delete_error;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct directory_config {
|
struct directory_config {
|
||||||
|
@ -220,6 +220,7 @@ static apr_table_t *collection_retrieve_ex(apr_sdbm_t *existing_dbm, modsec_rec
|
|||||||
msr_log(msr, 1, "collection_retrieve_ex: Failed deleting collection (name \"%s\", "
|
msr_log(msr, 1, "collection_retrieve_ex: Failed deleting collection (name \"%s\", "
|
||||||
"key \"%s\"): %s", log_escape(msr->mp, col_name),
|
"key \"%s\"): %s", log_escape(msr->mp, col_name),
|
||||||
log_escape_ex(msr->mp, col_key, col_key_len), get_apr_error(msr->mp, rc));
|
log_escape_ex(msr->mp, col_key, col_key_len), get_apr_error(msr->mp, rc));
|
||||||
|
msr->msc_sdbm_delete_error = 1;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -678,9 +679,10 @@ int collections_remove_stale(modsec_rec *msr, const char *col_name) {
|
|||||||
msr_log(msr, 1, "collections_remove_stale: Failed deleting collection (name \"%s\", "
|
msr_log(msr, 1, "collections_remove_stale: Failed deleting collection (name \"%s\", "
|
||||||
"key \"%s\"): %s", log_escape(msr->mp, col_name),
|
"key \"%s\"): %s", log_escape(msr->mp, col_name),
|
||||||
log_escape_ex(msr->mp, key.dptr, key.dsize - 1), get_apr_error(msr->mp, rc));
|
log_escape_ex(msr->mp, key.dptr, key.dsize - 1), get_apr_error(msr->mp, rc));
|
||||||
|
msr->msc_sdbm_delete_error = 1;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msr->txcfg->debuglog_level >= 4) {
|
if (msr->txcfg->debuglog_level >= 4) {
|
||||||
msr_log(msr, 4, "collections_remove_stale: Removed stale collection (name \"%s\", "
|
msr_log(msr, 4, "collections_remove_stale: Removed stale collection (name \"%s\", "
|
||||||
"key \"%s\").", log_escape(msr->mp, col_name),
|
"key \"%s\").", log_escape(msr->mp, col_name),
|
||||||
|
@ -511,6 +511,19 @@ static int var_reqbody_processor_generate(modsec_rec *msr, msre_var *var, msre_r
|
|||||||
return 1;
|
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 */
|
/* REQBODY_ERROR */
|
||||||
|
|
||||||
static int var_reqbody_processor_error_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
static int var_reqbody_processor_error_generate(modsec_rec *msr, msre_var *var, msre_rule *rule,
|
||||||
@ -3145,6 +3158,17 @@ void msre_engine_register_default_variables(msre_engine *engine) {
|
|||||||
PHASE_REQUEST_HEADERS
|
PHASE_REQUEST_HEADERS
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* REQBODY_PROCESSOR_ERROR - Deprecated */
|
||||||
|
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 */
|
/* REQBODY_PROCESSOR_ERROR - Deprecated */
|
||||||
msre_engine_variable_register(engine,
|
msre_engine_variable_register(engine,
|
||||||
"REQBODY_PROCESSOR_ERROR",
|
"REQBODY_PROCESSOR_ERROR",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user