Commit Graph

3033 Commits

Author SHA1 Message Date
Felipe Zimmerle
281a4caabb Use 'equal_range' instead of full scan for rule exceptions
The original author was @WGH-, this change was proposed at #2370
2020-11-16 10:01:41 -03:00
WGH
85b9e36d0b Remove unnecessary copying in transformations
In C++11, string data is always null-terminated[1], and can be
freely modified[2].

[1] https://stackoverflow.com/questions/6077189/will-stdstring-always-be-null-terminated-in-c11
[2] https://stackoverflow.com/questions/38875623/is-it-permitted-to-modify-the-internal-stdstring-buffer-returned-by-operator
2020-11-16 10:01:41 -03:00
WGH
bbaffc8f3d Make all "rule id" variables of type RuleId
Previously, ModSecurity inconsistently used RuleId, int and double for
rule id variables in different places.
2020-11-16 10:01:41 -03:00
Felipe Zimmerle
d023ddffcd Makes RuleWithActions const in run time operations 2020-11-16 10:01:41 -03:00
Felipe Zimmerle
a733313589 Introduces ActionWithExecution 2020-11-16 10:01:41 -03:00
Felipe Zimmerle
0a8c808f7a Makes Lua::run const 2020-11-16 10:01:41 -03:00
Felipe Zimmerle
f703e5795f Removes method isDisruptive from Action class 2020-11-16 10:01:40 -03:00
Felipe Zimmerle
61c4319b14 Action: make sure that null constructor is not used 2020-11-16 10:01:40 -03:00
Felipe Zimmerle
e9adb6c68f Computes auditlog during rules load time 2020-11-16 10:01:40 -03:00
Felipe Zimmerle
c90325062b actions: Removes Rule parameter from runtime execute
Generals organization on the Action class
2020-11-16 10:01:40 -03:00
Felipe Zimmerle
2ee9ccffa9 actions: Compute the rule association during rules load 2020-11-16 10:01:40 -03:00
Felipe Zimmerle
a4cd7a0091 tests: Romoves unused header from a test case 2020-11-16 10:01:40 -03:00
Felipe Zimmerle
7095b7db27 tests: Prints test number on segfault 2020-11-16 10:01:40 -03:00
Felipe Zimmerle
f945086ec4 Replaces lower case implementation 2020-11-16 10:01:40 -03:00
Felipe Zimmerle
301f724e9e Makes operator to use string_view 2020-11-16 10:01:39 -03:00
Felipe Zimmerle
d5158f1afc Improves rules dump for better testing 2020-11-16 10:01:39 -03:00
Felipe Zimmerle
46acbd81a0 Better error handling when loading configurations 2020-11-16 10:01:39 -03:00
Felipe Zimmerle
3fb4266ebf Adds method getVariableNames to variables 2020-11-16 10:01:39 -03:00
Felipe Zimmerle
5504f63b21 Cosmetics: Defining a type for RuleId 2020-11-16 10:01:39 -03:00
Felipe Zimmerle
bab7d6ccdf Moves rule* headers to src/ 2020-11-16 10:01:39 -03:00
Felipe Zimmerle
38a814411b Cleanup on Action class 2020-11-16 10:01:39 -03:00
Felipe Zimmerle
10985f33b0 Removes RuleMessage from action execute signature 2020-11-16 10:01:39 -03:00
Felipe Zimmerle
12304ea36b Refactoring: Makes transformations to work with new execute signature 2020-11-16 10:01:38 -03:00
nikolas
e3583f342a Move travis to use a new version of Ubuntu 2020-11-16 10:01:38 -03:00
Felipe Zimmerle
01e2fe4f82 Cosmetics: fix some cppcheck complains 2020-11-16 10:01:38 -03:00
Felipe Zimmerle
14a60ef46c Refactoring: rename evaluate to execute on actions 2020-11-16 10:01:38 -03:00
Felipe Zimmerle
a5a0f261e2 Refactoring in the Rule class to make it more elegant 2020-11-16 10:01:38 -03:00
Felipe Zimmerle
4c0fc7b6ff Rule: isMarker is no longer necessary 2020-11-16 10:01:38 -03:00
Felipe Zimmerle
1518015687 Adds new method for rule merge
IMPORTANT: SecDefaultAction specified on a child configuration will
overwrite the ones specified on the parent; Previously it was
concatenating.
2020-11-16 10:01:38 -03:00
Felipe Zimmerle
73c3731c9d Moves default actions to be part of the rules 2020-11-16 10:01:38 -03:00
martinhsv
d799f0fb1a Fix: FILES variable does not use multipart part name for key 2020-11-16 10:01:37 -03:00
marshal09
9973d81799 Add new transformation call phpArgsNames 2020-11-16 10:01:37 -03:00
Aleks
afefda53c6 Fix Path to projekt logo 2020-11-16 09:15:26 -03:00
martinhsv
d72be1c470 Fix: Only delete Multipart tmp files after rules have run 2020-11-04 13:50:07 -03:00
Michael Granzow
1b7aa42c77 Issue-2423: Meta-actions like 'msg' should be applied at end of chain 2020-10-29 10:33:02 -03:00
martinhsv
2672db103e Add support for new operator rxGlobal 2020-10-26 08:55:07 -03:00
Felipe Zimmerle
785958f9b5 Fix maxminddb link on FreeBSD
Issue #2131
2020-10-23 14:44:54 -03:00
Felipe Zimmerle
4b425850cf Cosmetics: fix cppcheck warnings 2020-10-23 08:29:07 -03:00
martinhsv
8da787a390 Merge pull request #2424 from martinhsv/v3/master
Fix IP address logging in Section A
2020-10-19 09:09:05 -04:00
martinhsv
8436c78993 Fix IP address logging in Section A 2020-10-16 13:14:42 -07:00
Felipe Zimmerle
995f22b3ce Having Bison 3.7.2 2020-10-14 13:58:37 -03:00
Felipe Zimmerle
377fb723ca Makes lua 5.1 workable again
Issue #2389
2020-09-21 10:04:40 -03:00
Felipe Zimmerle
e9dce44f6a build: Minor fixies on Lua detection 2020-08-18 09:19:51 -03:00
Felipe Zimmerle
9e6d8b7bbc CHANGES: Adds support to lua 5.4 2020-08-17 11:35:51 -03:00
Felipe Zimmerle
8c85b78361 Adds support to lua 5.4 2020-08-17 11:08:03 -03:00
Felipe Zimmerle
ae3ad5eaa7 cosmetics: Address some cppcheck complains 2020-08-06 19:02:00 -03:00
Felipe Zimmerle
51d06d7a8e CHANGES: Adds info about #2378 2020-07-30 13:51:33 -03:00
Andrei Belov
fe12385148 GeoIP: switch to GEOIP_MEMORY_CACHE from GEOIP_INDEX_CACHE
Using GEOIP_INDEX_CACHE on some older versions of libGeoIP (e.g. 1.5.0
which is the default version on CentOS 7) leads to "Error reading file"
error while opening completely valid GeoIP.dat:

    # cat test.c
    #include <stdio.h>
    #include "GeoIP.h"

    int main(void) {
      GeoIP *g;

      g = GeoIP_open("/tmp/GeoIP.dat", GEOIP_INDEX_CACHE);

      if (g == NULL) {
        printf("error!\n");
      }

      GeoIP_delete(g);

      exit(0);
    }
    # cc -lGeoIP -o test test.c
    # ./test
    Error reading file /tmp/GeoIP.dat
    error!
    # sed -i -e 's,GEOIP_INDEX_CACHE,GEOIP_MEMORY_CACHE,' test.c
    # cc -lGeoIP -o test test.c
    # ./test
    # geoiplookup -f /tmp/GeoIP.dat -v 8.8.8.8
    GeoIP Country Edition: GEO-106FREE 20180327 Build 1 Copyright (c) 2018 MaxMind Inc All Rights Reserved

Also tested with recent GeoLite databases converted from new format
into legacy format, distributed here:

    https://mailfud.org/geoip-legacy/
2020-07-30 13:48:40 -03:00
martinhsv
0eb3c123f4 Merge pull request #2348 from martinhsv/v3/master
rx:exit after full match; fix TX population after unused group
2020-07-06 07:54:44 -04:00
martinhsv
b9620c26a0 rx:exit after full match; fix TX population after unused group 2020-06-29 06:13:45 -07:00