mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-29 19:24:29 +03:00
Adds support to the allow action
This commit is contained in:
@@ -34,6 +34,7 @@ class Driver;
|
||||
#include "actions/skip_after.h"
|
||||
#include "actions/msg.h"
|
||||
#include "actions/phase.h"
|
||||
#include "actions/allow.h"
|
||||
#include "actions/log_data.h"
|
||||
#include "actions/maturity.h"
|
||||
#include "actions/redirect.h"
|
||||
@@ -87,6 +88,7 @@ using modsecurity::actions::Rev;
|
||||
using modsecurity::actions::Ver;
|
||||
using modsecurity::actions::Msg;
|
||||
using modsecurity::actions::Phase;
|
||||
using modsecurity::actions::Allow;
|
||||
using modsecurity::actions::transformations::None;
|
||||
using modsecurity::actions::LogData;
|
||||
using modsecurity::actions::Maturity;
|
||||
@@ -932,6 +934,15 @@ act:
|
||||
YYERROR;
|
||||
}
|
||||
}
|
||||
| ACTION_ALLOW
|
||||
{
|
||||
std::string error;
|
||||
$$ = new Allow($1);
|
||||
if ($$->init(&error) == false) {
|
||||
driver.error(@0, error);
|
||||
YYERROR;
|
||||
}
|
||||
}
|
||||
| ACTION_PHASE
|
||||
{
|
||||
std::string error;
|
||||
@@ -986,24 +997,6 @@ act:
|
||||
*/
|
||||
$$ = Action::instantiate($1);
|
||||
}
|
||||
| ACTION_ALLOW
|
||||
{
|
||||
/*
|
||||
|
||||
TODO: allow is not implemented yet.
|
||||
|
||||
std::string error;
|
||||
Allow *allow = new Allow($1);
|
||||
|
||||
if (allow->init(&error) == false) {
|
||||
driver.parserError << error;
|
||||
YYERROR;
|
||||
}
|
||||
|
||||
$$ = allow;
|
||||
*/
|
||||
$$ = Action::instantiate($1);
|
||||
}
|
||||
| ACTION_REDIRECT
|
||||
{
|
||||
std::string error;
|
||||
|
@@ -25,7 +25,7 @@ using modsecurity::split;
|
||||
|
||||
ACTION (?i:accuracy|append|block|capture|chain|deny|deprecatevar|drop|expirevar|id:[0-9]+|id:'[0-9]+'|log|multiMatch|noauditlog|nolog|pass|pause|prepend|proxy|sanitiseArg|sanitiseMatched|sanitiseMatchedBytes|sanitiseRequestHeader|sanitiseResponseHeader|setrsc|setenv|status:[0-9]+)
|
||||
ACTION_XMLNS (?i:xmlns)
|
||||
ACTION_ALLOW (?i:allow)
|
||||
ACTION_ALLOW ((?i:allow:(?i:REQUEST|PHASE))|(?i:phase:'(?i:REQUEST|PHASE)')|(?i:allow))
|
||||
ACTION_INITCOL (?i:initcol)
|
||||
|
||||
ACTION_ACCURACY (?i:accuracy)
|
||||
@@ -418,9 +418,7 @@ CONFIG_DIR_UNICODE_MAP_FILE (?i:SecUnicodeMapFile)
|
||||
|
||||
{LOG_DATA}:'{FREE_TEXT_QUOTE}' { return yy::seclang_parser::make_LOG_DATA(yytext, *driver.loc.back()); }
|
||||
{ACTION_MSG}:'{FREE_TEXT_QUOTE}' { return yy::seclang_parser::make_ACTION_MSG(yytext, *driver.loc.back()); }
|
||||
{ACTION_ALLOW}:'{FREE_TEXT_QUOTE}' { return yy::seclang_parser::make_ACTION_ALLOW(yytext, *driver.loc.back()); }
|
||||
{ACTION_ALLOW}:{FREE_TEXT_QUOTE_COMMA} { return yy::seclang_parser::make_ACTION_ALLOW(yytext, *driver.loc.back()); }
|
||||
{ACTION_ALLOW} { return yy::seclang_parser::make_ACTION_ALLOW("", *driver.loc.back()); }
|
||||
{ACTION_ALLOW} { return yy::seclang_parser::make_ACTION_ALLOW(yytext, *driver.loc.back()); }
|
||||
{ACTION_REDIRECT}:{FREE_TEXT} { return yy::seclang_parser::make_ACTION_REDIRECT(yytext, *driver.loc.back()); }
|
||||
{ACTION_TAG}:'{FREE_TEXT_QUOTE}' { return yy::seclang_parser::make_ACTION_TAG(yytext, *driver.loc.back()); }
|
||||
{ACTION_REV}:'{FREE_TEXT_QUOTE_COMMA}' { return yy::seclang_parser::make_ACTION_REV(yytext, *driver.loc.back()); }
|
||||
|
Reference in New Issue
Block a user