Felipe Zimmerle
e52bd7d635
Adds support to SecRuleScript directive
2017-11-05 23:31:16 -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
0e05b7bb8a
Avoids to load a directory structure as a rules file
2017-05-02 16:42:22 -03:00
Felipe Zimmerle
6421ff087a
Forces disruptive to be first-rule-only
...
ModSecurity version 3 is capable to handle disruptive actions in different
rules from the chain. However, lets get it working in the same fashion that
we have in version 2.
2017-04-24 21:06:35 -03:00
Felipe Zimmerle
f2d149fc5f
Extends the direct access model to other collections
2017-03-06 15:02:00 -03:00
Felipe Zimmerle
1aa2a9c01b
Avoids memory leak by cleaning loc stack on Driver's destructor
2017-03-06 15:01:52 -03:00
Felipe Zimmerle
808fd23358
Avoids a second initialization of the Audit Log class
2017-03-06 15:01:51 -03:00
Felipe Zimmerle
7927ddda91
Renames rules to m_rules in RulesProperties
2017-03-06 15:01:50 -03:00
Felipe Zimmerle
88fb456a16
Cosmetics: Reduces the static analysis warnings
2016-12-28 17:46:47 -03:00
Felipe Zimmerle
2e9a35c358
Refactoring on the audit logs implementation
...
Among of other things, it is now supporting shared file locks between
different process.
2016-12-14 23:17:28 -03:00
Felipe Zimmerle
4ced1d18e0
Using full path in the header inclusion
2016-11-04 14:45:01 -03:00
Felipe Zimmerle
b48e4b3a37
refactoring: Moves Phases enum to outside ModSecurity class
2016-10-07 19:05:50 -03:00
Felipe Zimmerle
c680ddf2cd
Refactoring on rulesProperties class
...
Among of other things the merge process was improved to detect if
certain properties were set on the origin rule set.
2016-10-05 12:01:15 -03:00
Felipe Zimmerle
7317079945
parser: Reporting the right column position in case of error
2016-06-23 16:02:09 -03:00
Alexey Zelkin
57ad70bb2b
Add missing 'retrun's for functions declared return value. This change fixes SIGILLs on executable built with clang 3.4.
...
Tested against FreeBSD 10.3.
2016-06-15 23:10:27 -03:00
Felipe Zimmerle
b06eaadac7
Places the classes related to audit log into a separate namespace
2016-01-14 14:29:36 -03:00
Felipe Zimmerle
42ce0475b2
Coding style: changes the namespace in the comments
2015-12-10 13:20:32 -03:00
Felipe Zimmerle
b5a43871e6
Changes library namespace from ModSecurity to modsecurity
2015-12-01 10:55:59 -03:00
Andrew Hutchings
c035e76ede
Avoid segfault if parser `ref' is empty
2015-11-17 11:28:47 -03:00
Felipe Zimmerle
e54ef72051
Looks for external resources in the same path of the rule
2015-10-06 09:21:30 -03:00
Felipe Zimmerle
0087a602f1
Fix phases execution
2015-09-30 18:48:38 -03:00
Felipe Zimmerle
d084ab5f2d
Fix the "line counting" on parser errors
2015-09-29 12:22:23 -03:00
Felipe Zimmerle
b497091017
Cosmetics: Fix coding style
2015-09-28 16:32:59 -03:00
Felipe Zimmerle
5c3a4b608d
Adds support to SecMarker and skipAfter
2015-09-08 10:06:37 -03:00
Felipe Zimmerle
b048794f4e
Adds support to unconditional rules
2015-09-04 15:55:53 -03:00
Felipe Zimmerle
ea4cd53221
Accepts phases with its name instead of a number
2015-09-02 18:31:02 -03:00
Felipe Zimmerle
035040cd13
Adds sanity check to confirm that the rule has an ID and it is not duplicated
2015-09-02 18:30:41 -03:00
Felipe Zimmerle
fa4f72d90d
Adds support to ctl:auditLogParts variation
2015-09-02 10:55:29 -03:00
Felipe Zimmerle
e76af0eab9
Correctly handling nginx configuration merge
2015-08-25 15:50:27 -03:00
Felipe Zimmerle
004ef066ed
Fix rules chain and action execution
...
- Rules chains are respecting the phase of the first rule in chain.
- The actions are only executed if all chain match.
2015-08-25 13:44:20 -03:00
Felipe Zimmerle
1065e297b2
Fix several minor issues on the seclang grammar
2015-08-22 11:06:28 -03:00
Felipe Zimmerle
2d56aa521b
Cosmetics: fix actions on yy file
...
- added action for:
ctl:requestBodyProcessor=XML
ctl:requestBodyProcessor=JSON
- added CONFIG_DIR_REQ_BODY_NO_FILES_LIMIT
2015-08-19 22:36:31 -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
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
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
261ee9f115
Adds support to BodyLimitAction and support for parser errors
2015-07-22 21:31:58 -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
4f20f5bf74
Adds initial support to chained rules
2015-07-21 12:02:10 -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
616a2ae6de
Adds AuditLog class
...
The properties related to the Audit Log were saved into the classes
Rules and Dirver, now all those properties will be saved into the
AuditLog class.
2015-07-08 18:05:09 -03:00
Felipe Zimmerle
7ea9ff8836
Code cosmetic: Having the code following our coding style
...
This commit also update some methods parameters to const.
2015-07-08 17:33:29 -03:00
Felipe Zimmerle
95cb4c56ab
Very first commit: libmodsecurity
...
Check the README.md file for further information about the libmodsecurity.
2015-06-26 14:35:15 -03:00