Adds SecComponentSignature configuration directive

This commit is contained in:
Felipe Zimmerle
2015-07-09 17:13:04 -03:00
parent 4aa521df65
commit 1ddb36a781
6 changed files with 69 additions and 0 deletions

View File

@@ -18,6 +18,7 @@
#include <map>
#include <stack>
#include <vector>
#include <list>
#endif
#ifndef SRC_PARSER_DRIVER_H_
@@ -88,6 +89,7 @@ class Driver {
bool sec_response_body_access;
std::string debug_log_path;
std::list<std::string> components;
ModSecurity::AuditLog *audit_log;

View File

@@ -74,6 +74,8 @@ using ModSecurity::Rule;
%token <std::string> CONFIG_DIR_AUDIT_STS
%token <std::string> CONFIG_DIR_AUDIT_TPE
%token <std::string> CONFIG_COMPONENT_SIG
%token <std::string> CONFIG_DIR_DEBUG_LOG
%token <std::string> CONFIG_DIR_DEBUG_LVL
@@ -212,6 +214,10 @@ expression:
{
driver.sec_request_body_access = false;
}
| CONFIG_COMPONENT_SIG
{
driver.components.push_back($1);
}
/* Debug log: start */
| CONFIG_DIR_DEBUG_LVL
{

View File

@@ -43,6 +43,7 @@ CONFIG_DIR_AUDIT_TPE (?i:SecAuditLogType)
CONFIG_DIR_DEBUG_LOG SecDebugLog
CONFIG_DIR_DEBUG_LVL SecDebugLogLevel
CONFIG_COMPONENT_SIG (?i:SecComponentSignature)
CONFIG_INCLUDE Include
DICT_ELEMENT [A-Za-z_]+
@@ -105,6 +106,7 @@ FREE_TEXT [^\"]+
{CONFIG_DIR_DEBUG_LOG}[ ]{CONFIG_VALUE_PATH} { return yy::seclang_parser::make_CONFIG_DIR_DEBUG_LOG(strchr(yytext, ' ') + 1, loc); }
{CONFIG_DIR_DEBUG_LVL}[ ]{CONFIG_VALUE_NUMBER} { return yy::seclang_parser::make_CONFIG_DIR_DEBUG_LVL(strchr(yytext, ' ') + 1, loc); }
{CONFIG_COMPONENT_SIG}[ ]["]{FREE_TEXT}["] { return yy::seclang_parser::make_CONFIG_COMPONENT_SIG(strchr(yytext, ' ') + 2, loc); }
{CONFIG_VALUE_ON} { return yy::seclang_parser::make_CONFIG_VALUE_ON(yytext, loc); }
{CONFIG_VALUE_OFF} { return yy::seclang_parser::make_CONFIG_VALUE_OFF(yytext, loc); }