1706 Commits

Author SHA1 Message Date
Felipe Zimmerle
7b4554216e Adds support to the operator le 2015-07-27 16:19:26 -03:00
Felipe Zimmerle
606f03be43 Adds support to the operator gt 2015-07-27 16:17:34 -03:00
Felipe Zimmerle
235bf9c010 Adds support to the operator gt 2015-07-27 16:15:34 -03:00
Felipe Zimmerle
170cb60c82 Adds support to the @streq operator 2015-07-27 16:12:04 -03:00
Felipe Zimmerle
35901c1ebe Adds support to the operator ge 2015-07-27 16:07:39 -03:00
Felipe Zimmerle
4462fd84ec Adds support to negative on the contains operator 2015-07-27 16:05:02 -03:00
Felipe Zimmerle
f41f9e1f0d Adds "negation" property to the operators signature 2015-07-27 15:56:38 -03:00
Chaim Sanders
2f3a8f0880 Updated wording and grammer in README 2015-07-27 00:43:14 -03:00
Felipe Zimmerle
6beca48c54 Fix C api signatures 2015-07-27 00:41:56 -03:00
Felipe Zimmerle
e016b72a8e Handles better the memory utilization
- Added reference counts to Rule and AuditLog;
- Some memory leaks were removed, including GeoLookup;
- Deal better with parser errors;
- Overriding the AutlogLogWritter destructor.
2015-07-26 22:51:57 -03:00
Felipe Zimmerle
0e7c13e3c0 Adds more regression tests to SecRemoteRules 2015-07-25 08:18:59 -03:00
Felipe Zimmerle
7ba5c76c78 Returns elegant errors if rules load operation failed 2015-07-25 03:04:57 -03:00
Felipe Zimmerle
b8f7fb441d Adds support to SecRemoteRules and Include directives
This commit includes a refactoring on important pieces of the parser
to allow it work in a stack fashion. Driver and Rules classes were
simplified and the RulesProperties class was created.
2015-07-24 22:57:29 -03:00
Felipe Zimmerle
ec9a97324f Fix actions: returning string copy after evaluation 2015-07-24 18:49:36 -03:00
Felipe Zimmerle
b2bbe24e29 Process the request body even if there is nothing to be done 2015-07-24 18:49:30 -03:00
Felipe Zimmerle
76b34af357 Adds support to load remote rules 2015-07-23 14:40:56 -03:00
Felipe Zimmerle
70bc15cb73 Adds support to quoted ID action 2015-07-23 14:14:19 -03:00
Felipe Zimmerle
64543e3aa2 Using A-Z instead of A-z while parsing with ?i: to avoid warnings 2015-07-23 09:45:25 -03:00
Felipe Zimmerle
b5ca607e76 Places class Driver under the Parser namespace 2015-07-23 01:37:15 -03:00
Felipe Zimmerle
9c2158958e parser: Loads content straight from buffer. 2015-07-23 01:37:08 -03:00
Felipe Zimmerle
d3eb0fd913 Driver class is extending the Rules class instead of duplicate elements 2015-07-23 00:10:32 -03:00
Felipe Zimmerle
dc0b13ad74 Cosmetic: fix copyright header 2015-07-22 23:03:09 -03:00
Felipe Zimmerle
16bb253d0e Adds all variables to the 'Variables' name space 2015-07-22 22:36:30 -03:00
Felipe Zimmerle
261ee9f115 Adds support to BodyLimitAction and support for parser errors 2015-07-22 21:31:58 -03:00
Felipe Zimmerle
30b2624ec5 Adds support to parser error 2015-07-22 21:29:15 -03:00
Felipe Zimmerle
5b3fd479fc regression: better format errors, making easy to read the output 2015-07-22 21:29:06 -03:00
Felipe Zimmerle
3f883df763 regression: Sorts test cases by file, making easy to read 2015-07-22 21:28:58 -03:00
Felipe Zimmerle
3f8fa64c9a regression: Allows to specify a single file or directory
Tests were directory driven. Now it is possible to specify a single
test case file.
2015-07-22 21:26:30 -03:00
Felipe Zimmerle
a4af4f32cd Fix transformations regression test 2015-07-22 21:24:25 -03:00
Felipe Zimmerle
667586c42e Adds UNIQUE_ID variable 2015-07-22 21:24:21 -03:00
Felipe Zimmerle
d20a47fb03 Adds support to the variables: REMOTE_HOST, SERVER_{ADDR,PORT} 2015-07-22 21:24:18 -03:00
Felipe Zimmerle
ae81bb1433 Adds support to the variables: RESPONSE{BODY,CONTENT_LENGTH,CONTENT_TYPE} 2015-07-22 21:24:14 -03:00
Felipe Zimmerle
ec34f676c6 Adds support to variables: REQUEST_{METHOD,PROTOCOL,URI,URI_RAW} 2015-07-22 21:23:48 -03:00
Felipe Zimmerle
bc925e01e6 Adds support to the REQUEST_LINE variable 2015-07-22 21:23:43 -03:00
Felipe Zimmerle
cb722c74b9 Adds support to REQUEST_HEADERS{_NAMES} and RESPONSE_HEADERS{_NAMES} vars 2015-07-22 21:22:32 -03:00
Felipe Zimmerle
97c0d561f6 Adds suppor to the REQUEST_FILENAME variable 2015-07-22 21:19:36 -03:00
Felipe Zimmerle
94eddfcf48 Adds support to the REQUEST_BODY_LENGTH variable 2015-07-22 21:19:30 -03:00
Felipe Zimmerle
b6221c9811 Adds support to REQUEST_BODY and REQUEST_BASENAME variables 2015-07-22 21:19:15 -03:00
Felipe Zimmerle
6f7d3fa67a Adds support to the TIME* variables 2015-07-22 01:07:42 -03:00
Felipe Zimmerle
ad442fb201 Fix transformation regression test 2015-07-22 00:39:01 -03:00
Felipe Zimmerle
dbbb2c526e Adds support to REMOTE_PORT variable 2015-07-21 23:21:15 -03:00
Felipe Zimmerle
e8476771e6 Adds support to REMOTE_HOST variable 2015-07-21 23:14:56 -03:00
Felipe Zimmerle
cc576533b3 Adds regression test to the REMOTE_HOST variable 2015-07-21 23:07:49 -03:00
Felipe Zimmerle
f05632acb6 Adds regression test for the REMOTE_ADDR variable 2015-07-21 23:07:07 -03:00
Felipe Zimmerle
6af9e8e42a Fix QUERY_STRING variable
QUERY_STRING should be populated using the raw string.
2015-07-21 23:02:55 -03:00
Felipe Zimmerle
7f76bb6df1 Adds PATH_INFO variable 2015-07-21 22:29:52 -03:00
Felipe Zimmerle
62fece7823 Adds support to SecResponseBodyLimit directive and OUTBOUND_DATA_ERROR var 2015-07-21 19:46:15 -03:00
Felipe Zimmerle
8e59b1822c Adds support to variable MULTIPART_UNMATCHED_BOUNDARY 2015-07-21 19:33:58 -03:00
Felipe Zimmerle
a9147b76ad Adds support to the MULTIPART_STRICT_ERROR variable
Still missing to check:
  - MULTIPART_FILE_LIMIT_EXCEEDED
  - REQBODY_PROCESSOR_ERROR
  - MULTIPART_HEADER_FOLDING
  - MULTIPART_INVALID_HEADER_FOLDING
2015-07-21 17:47:00 -03:00
Felipe Zimmerle
09beb1a5c0 Adds support to MULTIPART_NAME variable 2015-07-21 15:54:49 -03:00