Skip to content

Commit 43b9320

Browse files
Merge pull request #71 from coreruleset/chore/separate-variable-events
chore: divide variable listener events
2 parents d3656cf + 0657937 commit 43b9320

12 files changed

Lines changed: 7725 additions & 7160 deletions

g4/SecLangLexer.g4

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -498,11 +498,8 @@ VARIABLE_NAME_ENUM:
498498
| 'USERAGENT_IP'
499499
| 'USERID'
500500
| 'WEBAPPID'
501-
| 'WEBSERVER_ERROR_LOG') -> pushMode(VARIABLE_FOUND)
502-
;
503-
504-
UNKNOWN_VARIABLES:
505-
('MSC_PCRE_ERROR'
501+
| 'WEBSERVER_ERROR_LOG'
502+
| 'MSC_PCRE_ERROR'
506503
| 'MULTIPART_BOUNDARY_QUOTED'
507504
| 'MULTIPART_BOUNDARY_WHITESPACE'
508505
| 'MULTIPART_DATA_AFTER'

g4/SecLangParser.g4

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,8 @@ values:
242242
;
243243

244244
action_ctl_target_value:
245-
(ctl_id | SINGLE_QUOTE string_literal SINGLE_QUOTE | VARIABLE_NAME) SEMI variable_enum
246-
| (ctl_id | SINGLE_QUOTE string_literal SINGLE_QUOTE | VARIABLE_NAME) SEMI collection_enum (COLON collection_value)?
245+
(ctl_id | SINGLE_QUOTE string_literal SINGLE_QUOTE | VARIABLE_NAME) SEMI ctl_variable_enum
246+
| (ctl_id | SINGLE_QUOTE string_literal SINGLE_QUOTE | VARIABLE_NAME) SEMI ctl_collection_enum (COLON ctl_collection_value)?
247247
;
248248

249249
update_target_rules_values:
@@ -333,19 +333,26 @@ new_target:
333333
var_stmt:
334334
variable_enum
335335
| collection_enum (COLON collection_value)?
336-
337336
;
338337

339338
variable_enum:
340339
VARIABLE_NAME_ENUM
341-
| UNKNOWN_VARIABLES
340+
;
341+
342+
ctl_variable_enum:
343+
VARIABLE_NAME_ENUM
342344
;
343345

344346
collection_enum:
345347
COLLECTION_NAME_ENUM
346348
| RUN_TIME_VAR_XML
347349
;
348350

351+
ctl_collection_enum:
352+
COLLECTION_NAME_ENUM
353+
| RUN_TIME_VAR_XML
354+
;
355+
349356
actions:
350357
QUOTE action (COMMA action)* QUOTE
351358
;
@@ -482,6 +489,11 @@ collection_value:
482489
| COLLECTION_ELEMENT_VALUE
483490
;
484491

492+
ctl_collection_value:
493+
| XPATH_EXPRESSION
494+
| COLLECTION_ELEMENT_VALUE
495+
;
496+
485497
setvar_action:
486498
col_name DOT setvar_stmt assignment var_assignment
487499
;

listener.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,10 @@ func (l *TreeShapeListener) EnterEngine_config_rule_directive(ctx *parser.Engine
150150
l.results.DirectiveList = append(l.results.DirectiveList, ctx.GetText())
151151
}
152152

153+
func (l *TreeShapeListener) EnterConfig_dir_sec_action(ctx *parser.Config_dir_sec_actionContext) {
154+
l.results.DirectiveList = append(l.results.DirectiveList, ctx.GetText())
155+
}
156+
153157
func (l *TreeShapeListener) EnterOperator_name(ctx *parser.Operator_nameContext) {
154158
l.results.OperatorList = append(l.results.OperatorList, ctx.GetText())
155159
}

parser/seclang_lexer.go

Lines changed: 2814 additions & 2817 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/seclang_parser.go

Lines changed: 1280 additions & 951 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/seclangparser_base_listener.go

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/seclangparser_listener.go

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)