From bad3e13612711829c439067aa757e9ba5126ab83 Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Fri, 24 Jun 2016 13:51:54 -0300 Subject: [PATCH] parser: Fix commented SecRule parser No longer treat the next line as comment. Instead changes the parser state to comment and figure out what to do. --- src/parser/seclang-scanner.ll | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/parser/seclang-scanner.ll b/src/parser/seclang-scanner.ll index b3be498b..cbb81efe 100755 --- a/src/parser/seclang-scanner.ll +++ b/src/parser/seclang-scanner.ll @@ -454,10 +454,8 @@ CONFIG_DIR_UNICODE_MAP_FILE (?i:SecUnicodeMapFile) } [ \t]*[\n] { driver.loc.back()->lines(1); driver.loc.back()->step(); } -#[ \t]*SecRule[^\\]*\\\n[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(COMMENT); } -#[ \t]*SecRule[^\\]*\\\r\n[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(COMMENT); } -#[ \t]*SecAction[^\\]*\\\n[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(COMMENT); } -#[ \t]*SecAction[^\\]*\\\r\n[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(COMMENT); } +#[ \t]*SecRule[^\\].*\\[ \t]*[\r\n]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(COMMENT); } +#[ \t]*SecAction[^\\].*\\[ \t]*[^\\n] { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(COMMENT); } #.* { driver.loc.back()->step(); /* comment, just ignore. */ } . { driver.error (*driver.loc.back(), "invalid character", yytext); throw yy::seclang_parser::syntax_error(*driver.loc.back(), ""); } <> {