From 70bc15cb73007af48896dc3e63b87c9ce2875b46 Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Thu, 23 Jul 2015 14:13:52 -0300 Subject: [PATCH] Adds support to quoted ID action --- src/actions/rule_id.cc | 4 ++++ src/parser/seclang-scanner.ll | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/actions/rule_id.cc b/src/actions/rule_id.cc index b1c0d22f..52fe30e8 100644 --- a/src/actions/rule_id.cc +++ b/src/actions/rule_id.cc @@ -29,6 +29,10 @@ RuleId::RuleId(std::string action) this->action_kind = ConfigurationKind; std::string a = action; a.erase(0, 3); + if (a.at(0) == '\'') { + a.erase(0, 1); + a.pop_back(); + } this->rule_id = std::stod(a); } diff --git a/src/parser/seclang-scanner.ll b/src/parser/seclang-scanner.ll index 52233559..152e8774 100755 --- a/src/parser/seclang-scanner.ll +++ b/src/parser/seclang-scanner.ll @@ -19,7 +19,7 @@ using ModSecurity::Parser::Driver; static yy::location loc; %} %option noyywrap nounput batch debug noinput -ACTION (?i:accuracy|allow|append|auditlog|block|capture|chain|ctl|deny|deprecatevar|drop|exec|expirevar|id:[0-9]+|initcol|log|logdata|maturity|msg|multiMatch|noauditlog|nolog|pass|pause|phase:[0-9]+|prepend|proxy|redirect:[A-Z0-9_\|\&\:\/\/\.]+|rev|sanitiseArg|sanitiseMatched|sanitiseMatchedBytes|sanitiseRequestHeader|sanitiseResponseHeader|setuid|setrsc|setsid|setenv|setvar|skip|skipAfter|status:[0-9]+|tag|ver|xmlns) +ACTION (?i:accuracy|allow|append|auditlog|block|capture|chain|ctl|deny|deprecatevar|drop|exec|expirevar|id:[0-9]+|id:'[0-9]+'|initcol|log|logdata|maturity|msg|multiMatch|noauditlog|nolog|pass|pause|phase:[0-9]+|prepend|proxy|redirect:[A-Z0-9_\|\&\:\/\/\.]+|rev|sanitiseArg|sanitiseMatched|sanitiseMatchedBytes|sanitiseRequestHeader|sanitiseResponseHeader|setuid|setrsc|setsid|setenv|setvar|skip|skipAfter|status:[0-9]+|tag|ver|xmlns) ACTION_SEVERITY (?i:severity:[0-9]+|severity:'[0-9]+'|severity:(EMERGENCY|ALERT|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG)|severity:'(EMERGENCY|ALERT|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG)') DIRECTIVE SecRule