82 Commits

Author SHA1 Message Date
Felipe Zimmerle
17f88f5821 Using libpcre instead of c++11 regex 2015-08-03 13:45:09 -03:00
Felipe Zimmerle
a4cf218a3e Removes chrono references to make it compile with gcc 4.8.x 2015-08-02 22:14:32 -03:00
Felipe Zimmerle
f811ec6518 Adds support to @ipMatch operator 2015-07-30 20:58:19 -03:00
Felipe Zimmerle
bf0169b528 unit-tests: Releases operator after use 2015-07-30 20:22:19 -03:00
Felipe Zimmerle
c2d33823f5 Adds method init to Operator class 2015-07-27 22:44:34 -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
76b34af357 Adds support to load remote rules 2015-07-23 14:40:56 -03:00
Felipe Zimmerle
dc0b13ad74 Cosmetic: fix copyright header 2015-07-22 23:03:09 -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
Felipe Zimmerle
954e275b32 Adds support to MULTIPART_FILENAME variable 2015-07-21 15:42:24 -03:00
Felipe Zimmerle
abec93263b Adds support to MULTIPART_CRLF_LF_LINES variable 2015-07-21 15:29:13 -03:00
Felipe Zimmerle
21f4c49a0f Adds support to MATCHED_VAR_NAME variable 2015-07-21 14:32:05 -03:00
Felipe Zimmerle
b089c44c1a Adds support to MATCHED_VARS_NAMES variable 2015-07-21 14:24:05 -03:00
Felipe Zimmerle
09867791c7 Adds support to MATCHED_VARS variable 2015-07-21 14:21:49 -03:00
Felipe Zimmerle
9d69501961 Adds support to MATCHED_VAR variable 2015-07-21 12:02:14 -03:00
Felipe Zimmerle
9c066e3198 Adds support to the INBOUND_DATA_ERROR variable and SecRequestBodyLimit direc. 2015-07-21 10:02:33 -03:00
Felipe Zimmerle
95c2fed89c Adds support to severity action and HIGHEST_SEVERITY variable 2015-07-21 01:09:13 -03:00
Felipe Zimmerle
e189055ec3 Adds support to GeoIP operator and variables. 2015-07-20 21:05:14 -03:00
Felipe Zimmerle
41bf1490b7 Adds MODSEC_BUILD variable 2015-07-20 20:43:07 -03:00
Felipe Zimmerle
6e46c5c7f7 Adds support to FULL_REQUEST_LENGTH variable 2015-07-20 20:42:27 -03:00
Felipe Zimmerle
e516ded1e7 Adds FULL_REQUEST variable 2015-07-20 20:41:39 -03:00