mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2026-01-13 06:57:10 +03:00
Added back support for HTTP_* targets by aliasing it to REQUEST_HEADERS:*.
Fixed the severity warning message to only be displayed at a warn log level.
This commit is contained in:
@@ -1129,10 +1129,11 @@ static const char *cmd_default_action(cmd_parms *cmd, void *_dcfg, const char *p
|
||||
if ((dcfg->tmp_default_actionset->severity != NOT_SET)
|
||||
||(dcfg->tmp_default_actionset->logdata != NOT_SET_P))
|
||||
{
|
||||
ap_log_perror(APLOG_MARK, APLOG_STARTUP|APLOG_NOERRNO, 0, cmd->pool,
|
||||
"ModSecurity: WARNING SecDefaultAction \"%s\" should not "
|
||||
"contain a severity or logdata action (%s:%d).",
|
||||
p1, cmd->directive->filename, cmd->directive->line_num);
|
||||
ap_log_perror(APLOG_MARK,
|
||||
APLOG_STARTUP|APLOG_WARNING|APLOG_NOERRNO, 0, cmd->pool,
|
||||
"ModSecurity: WARNING Using \"severity\" or \"logdata\" in "
|
||||
"SecDefaultAction is deprecated (%s:%d).",
|
||||
cmd->directive->filename, cmd->directive->line_num);
|
||||
}
|
||||
|
||||
/* Must not use chain. */
|
||||
|
||||
@@ -63,8 +63,8 @@ extern DSOLOCAL modsec_build_type_rec modsec_build_type[];
|
||||
#define MODSEC_VERSION_MAJOR "2"
|
||||
#define MODSEC_VERSION_MINOR "5"
|
||||
#define MODSEC_VERSION_MAINT "1"
|
||||
#define MODSEC_VERSION_TYPE ""
|
||||
#define MODSEC_VERSION_RELEASE ""
|
||||
#define MODSEC_VERSION_TYPE "-breach"
|
||||
#define MODSEC_VERSION_RELEASE "1"
|
||||
|
||||
#define MODULE_NAME "ModSecurity for Apache"
|
||||
|
||||
|
||||
16
apache2/re.c
16
apache2/re.c
@@ -231,6 +231,7 @@ msre_action_metadata *msre_resolve_action(msre_engine *engine, const char *name)
|
||||
msre_var *msre_create_var_ex(apr_pool_t *pool, msre_engine *engine, const char *name, const char *param,
|
||||
modsec_rec *msr, char **error_msg)
|
||||
{
|
||||
const char *varparam = param;
|
||||
msre_var *var = apr_pcalloc(pool, sizeof(msre_var));
|
||||
if (var == NULL) return NULL;
|
||||
|
||||
@@ -251,6 +252,17 @@ msre_var *msre_create_var_ex(apr_pool_t *pool, msre_engine *engine, const char *
|
||||
var->name = name;
|
||||
}
|
||||
|
||||
/* Treat HTTP_* targets as an alias for REQUEST_HEADERS:* */
|
||||
if ( (var->name != NULL)
|
||||
&& (strlen(var->name) > 5)
|
||||
&& (strncmp("HTTP_", var->name, 5) == 0))
|
||||
{
|
||||
const char *oldname = var->name;
|
||||
var->name = apr_pstrdup(pool, "REQUEST_HEADERS");
|
||||
varparam = apr_pstrdup(pool, oldname + 5);
|
||||
}
|
||||
|
||||
|
||||
/* Resolve variable */
|
||||
var->metadata = msre_resolve_var(engine, var->name);
|
||||
if (var->metadata == NULL) {
|
||||
@@ -268,7 +280,7 @@ msre_var *msre_create_var_ex(apr_pool_t *pool, msre_engine *engine, const char *
|
||||
}
|
||||
|
||||
/* Check the parameter. */
|
||||
if (param == NULL) {
|
||||
if (varparam == NULL) {
|
||||
if (var->metadata->argc_min > 0) {
|
||||
*error_msg = apr_psprintf(engine->mp, "Missing mandatory parameter for variable %s.",
|
||||
name);
|
||||
@@ -283,7 +295,7 @@ msre_var *msre_create_var_ex(apr_pool_t *pool, msre_engine *engine, const char *
|
||||
return NULL;
|
||||
}
|
||||
|
||||
var->param = param;
|
||||
var->param = varparam;
|
||||
}
|
||||
|
||||
return var;
|
||||
|
||||
Reference in New Issue
Block a user