2630 Commits

Author SHA1 Message Date
Felipe Zimmerle
1d3c4c670d
Treating ARGS_NAMES as an array instead of scalar
Both value and key are the same.
2017-08-22 18:26:56 -03:00
Felipe Zimmerle
81879cd131
parser: SecRequestBodyInMemoryLimit is now returning an error msg 2017-08-22 10:44:35 -03:00
Felipe Zimmerle
2cf636cf76
parser: Adds generated parser files after 0xfce65 2017-08-21 23:41:37 -03:00
asterite
0be821ded7
change parsing of SetVar actions
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
2017-08-21 23:39:12 -03:00
Felipe Zimmerle
e0ebf28540
Adds `$' as a valid character in ruleRemoveTargetById
Issue #1533
2017-08-21 22:59:12 -03:00
Felipe Zimmerle
4b9bd499eb
Fix to_hex_if_need function on string utils
This fix issue #1535. Solution was the same suggested on #1523.
2017-08-21 22:47:49 -03:00
Felipe Zimmerle
8d6209f652
gitignore: Adds binaries from examples to the ignore list 2017-08-20 20:10:56 -03:00
Felipe Zimmerle
5e76d85636
Update test cases to include test propesed at #1523 2017-08-20 20:08:17 -03:00
asterite
31f1d04464
add validateByteRange regression test to list in Makefile 2017-08-20 20:08:01 -03:00
asterite
58872e7eda
adds a test for validateByteRange with bytes > 127 2017-08-20 20:07:54 -03:00
asterite
86e74fac58
validateByteRange: correctly handle bytes > 127
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.
2017-08-20 20:07:48 -03:00
Lasse Karstensen
7665d96a13
Improve action-allow test titles 2017-08-20 20:00:28 -03:00
Lasse Karstensen
fc06915cc6
Extend RESPONSE_BODY test case. 2017-08-20 20:00:07 -03:00
Felipe Zimmerle
31655e2c9b
Updates secrules-language-tests 2017-08-20 19:57:58 -03:00
Felipe Zimmerle
0a3dd824fe
Updates libinjection to v3.10.0 2017-08-20 19:57:06 -03:00
asterite
b8789ab9f4
add a test for negated implicit @rx operator 2017-08-20 19:39:18 -03:00
asterite
039bd2cc84
fix negated implicit @rx operator
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
2017-08-20 19:39:05 -03:00
Victor Hora
ca9cbf4ddc
Fix for @rbl operator to correctly recognize known supported RBL providers 2017-08-20 19:36:53 -03:00
Felipe Zimmerle
9d4ed52518
test: Counts the disabled tests as skiped on the test summary 2017-08-20 19:33:53 -03:00
Lasse Karstensen
d66f0c7e0d
Add support for disabled test cases.
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
2017-08-20 19:28:26 -03:00
Lasse Karstensen
ab14b7c083
Add support for disabling test cases.
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.
2017-08-20 19:28:21 -03:00
Felipe Zimmerle
c22658ec80
Adds `msc_update_status_code' method to the libmodsec api 2017-08-20 18:52:50 -03:00
Felipe Zimmerle
fff5a57656
Changes auditlog type to serial by default 2017-08-20 17:32:44 -03:00
Felipe Zimmerle
bf281eb4df
Relaxing the audit log sanity checks to allow empty relevant status 2017-08-20 15:52:07 -03:00
Lasse Karstensen
09ee471498
Handle zero byte rule files correctly.
This corrects the stalling behaviour seen when trying to parse an empty
rule file.

Fixes: #1521
2017-08-20 09:37:10 -03:00
Felipe Zimmerle
945ee27a85 parser: Adds SecRuleUpdateActionById is not yet supported 2017-08-17 15:08:38 -03:00
Felipe Zimmerle
d7eab6b7a3 Adds support to SecRuleRemoveByMsg 2017-08-16 23:42:13 -03:00
Felipe Zimmerle
562c2b2f5a parser: Adds support to tag action without quotes 2017-08-16 22:29:42 -03:00
Felipe Zimmerle
b4051246b1 Adds support to SecResponseBodyMimeTypesClear 2017-08-16 22:21:03 -03:00
Felipe Zimmerle
48f1470269 Adds support to SecArgumentSeparator 2017-08-16 18:27:51 -03:00
Felipe Zimmerle
a302538521 parser: Adds SecWebAppId not supported note 2017-08-16 17:31:59 -03:00
Felipe Zimmerle
2c4e65f7ee parser: Adds support to quoted paramenter in SecDataDir 2017-08-16 17:17:39 -03:00
Felipe Zimmerle
bb2fe0e039 parser: Adds note saying that SecServerSignature is not supported 2017-08-16 17:14:42 -03:00
Felipe Zimmerle
e6cfd5379d parser: Adds SecRuleScript not implemented note 2017-08-16 17:00:36 -03:00
Felipe Zimmerle
cd533e00e7 parser: Adds support to quoted arguments on SecUploadDir 2017-08-16 10:17:51 -03:00
Felipe Zimmerle
b5d0dc2409 paser: Adds support for quoted argument on SecTmpDir 2017-08-16 09:51:56 -03:00
Felipe Zimmerle
5ffc5c1633 parser: Adds support to quoted arguments in asorted configurations 2017-08-16 09:37:34 -03:00
Felipe Zimmerle
9abc37157d parser: Adds msg: ContentInjection is not yet supported 2017-08-16 09:21:23 -03:00
Felipe Zimmerle
06447ea3d4 parser: Adds support to double quotes on adit logs file 2017-08-16 00:18:06 -03:00
Felipe Zimmerle
c525cbfb20 parser: Adds ability to inform auditlog status without quotes 2017-08-16 00:17:58 -03:00
Felipe Zimmerle
9ee412735d parser: Improves the reading for the url in the redirect action 2017-08-15 15:18:52 -03:00
Felipe Zimmerle
8c66a1b4c2 Adds support to double quotes on debug logs conf 2017-08-15 14:20:39 -03:00
Felipe Zimmerle
0508395f8d
Forces REQBODY_ERROR to zero whenever there is a valid XML 2017-07-31 14:12:18 -03:00
Felipe Zimmerle
b36c4260c1
Adds a graceful error if there is no memory for request body inspection
Issue #1517
2017-07-31 13:09:09 -03:00
Felipe Zimmerle
9a41942ce1
Optimization on the macro expansion function 2017-07-31 09:26:06 -03:00
Victor Hora
53ff0e1a57
Adds initial support to SecHttpBlKey 2017-07-29 00:12:14 -03:00
Lasse Karstensen
515e073503
Rename FromNowOneAllowType to FromNowOnAllowType.
This misspelling is confusing (is it allow one more rule, or all of
them?) and since v3 isn't released yet, use the major version bump
opportunity to rectify it.
2017-07-28 22:46:55 -03:00
Lasse Karstensen
bce5ef7704
Add the missing g in Transaction::GetReponseBodyLenth()
This commit fixes a typo in the method name for retrieving
the body length.
2017-07-28 22:30:25 -03:00
Felipe Zimmerle
56baef5f1f
Fix test case as consequence of the changes at #1514 2017-07-28 22:24:21 -03:00
Lasse Karstensen
5e06a67fbe
Demote log lines to improve debug log SNR.
The debug logging is verbose and sometimes hard to read.

Demote some of the boilerplate output to log level 9, to make it easier
to see the important parts on lower verbosity levels.
2017-07-28 22:11:06 -03:00