* Treat _NAMES variables as collections
* Fix an issue with the offset of ARGS_NAMES.
* Fix regression tests for the new behaviour.
* Add generated seclang files.
new_debug_log was unitialized during an error code path.
Fixed this by explicit initializing it to NULL and fixing the order of
the error labels. They now present the correct (reverse) order of the
goto statements.
* Support --enable-debug-logs=no option of configure script
* Undo unintended white space changes
* Undo more unintended white space changes
* Address review comments - thanks Mirko
* Address more review comments - thanks Mirko
Change tokenization of SetVar expressions and use syntax
analyzer (seclang-parser) to process them. More precisely:
1 SetVar expression is tokenized in two modes, quoted and
not quoted, depending on whether it started with single
quote (')
2 Variable name and value can consist of multiple tokens,
which are assembled back in syntax analyzer.
This allows to support escapes (escape single/double quote,
spaces etc.) and correctly detect where the expression ends.
Fixes#1529
ValidateByteRange::evaluate compared bytes with values in
range [0-255], but acquired bytes by indexing std::string,
which gave type char, which is signed. So bytes with values
more than 127 were treated as negative, resulting in being
incorrectly classified as out-of-range. This commit adds
casting byte values to unsigned char before validating range.
When an operator starts with '!' and no explicit operator
is specified, a negated @rx operator should be created.
Due to a bug, a regular @rx operator with regex starting
with '!' was created. This commit fixes it
This commit adds support for skipping test cases that have enabled=0 in
their JSON body.
A separate counter is kept and reported in the final non-automake
output, detailing disabled as a separate field.
Ref: #1513
The JSON test case format has an "enabled" key that is not
currently being honored. This trivial patch adds support for skipping
test cases that has enabled set to 0.