Felipe Zimmerle
8d2f05c48d
Removes init from SetVar
2020-11-26 11:22:34 -03:00
Felipe Zimmerle
1bbbd92df8
Use 'equal_range' instead of full scan for rule exceptions
...
The original author was @WGH-, this change was proposed at #2370
2020-11-26 11:22:34 -03:00
WGH
ed6092ec32
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-26 11:22:34 -03:00
WGH
b58cb9c2a8
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-26 11:22:34 -03:00
Felipe Zimmerle
f115018157
Makes RuleWithActions const in run time operations
2020-11-26 11:22:34 -03:00
Felipe Zimmerle
3c6356110b
Introduces ActionWithExecution
2020-11-26 11:22:33 -03:00
Felipe Zimmerle
fc0fef3646
Makes Lua::run const
2020-11-26 11:22:33 -03:00
Felipe Zimmerle
3efc14bc08
Removes method isDisruptive from Action class
2020-11-26 11:22:33 -03:00
Felipe Zimmerle
9f264d6f54
Action: make sure that null constructor is not used
2020-11-26 11:18:25 -03:00
Felipe Zimmerle
e0cd76355f
Computes auditlog during rules load time
2020-11-26 11:14:30 -03:00
Felipe Zimmerle
3832042531
actions: Removes Rule parameter from runtime execute
...
Generals organization on the Action class
2020-11-26 11:10:25 -03:00
Felipe Zimmerle
a8d34873c8
actions: Compute the rule association during rules load
2020-11-26 11:06:29 -03:00
Felipe Zimmerle
5e5180c93b
tests: Romoves unused header from a test case
2020-11-26 11:02:05 -03:00
Felipe Zimmerle
bfaff92a51
tests: Prints test number on segfault
2020-11-26 11:01:26 -03:00
Felipe Zimmerle
1dc684a28b
Replaces lower case implementation
2020-11-26 11:00:46 -03:00
Felipe Zimmerle
193c794fb7
Makes operator to use string_view
2020-11-26 10:57:02 -03:00
Felipe Zimmerle
5a736492b4
Improves rules dump for better testing
2020-11-26 10:53:22 -03:00
Felipe Zimmerle
43b1c4f459
Better error handling when loading configurations
2020-11-26 10:50:23 -03:00
Felipe Zimmerle
2bc522431f
Adds method getVariableNames to variables
2020-11-26 10:47:07 -03:00
Felipe Zimmerle
7ac2fd5fb0
Cosmetics: Defining a type for RuleId
2020-11-26 10:44:37 -03:00
Felipe Zimmerle
f7307ef2a4
Moves rule* headers to src/
2020-11-26 10:44:35 -03:00
Felipe Zimmerle
8d0017919f
Cleanup on Action class
2020-11-26 10:41:17 -03:00
Felipe Zimmerle
df51dd06ef
Removes RuleMessage from action execute signature
2020-11-25 10:47:19 -03:00
Felipe Zimmerle
5cb58b412c
Refactoring: Makes transformations to work with new execute signature
2020-11-25 10:47:16 -03:00
nikolas
ef9a63e610
Move travis to use a new version of Ubuntu
2020-11-25 10:29:11 -03:00
Felipe Zimmerle
8bb1a90c4f
Cosmetics: fix some cppcheck complains
2020-11-25 10:26:02 -03:00
Felipe Zimmerle
1f7d202985
Refactoring: rename evaluate to execute on actions
2020-11-25 10:26:00 -03:00
Felipe Zimmerle
6cdbad05ad
Refactoring in the Rule class to make it more elegant
2020-11-25 10:15:04 -03:00
Felipe Zimmerle
5c40997028
Rule: isMarker is no longer necessary
2020-11-25 10:12:13 -03:00
Felipe Zimmerle
766b373c3b
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-25 10:12:10 -03:00
Felipe Zimmerle
cb0d298ded
Moves default actions to be part of the rules
2020-11-25 09:17:17 -03:00
martinhsv
1e954f5d54
Fix: FILES variable does not use multipart part name for key
2020-11-25 09:17:15 -03:00
marshal09
452faa55ce
Add new transformation call phpArgsNames
2020-11-25 09:16:30 -03:00
Felipe Zimmerle
910a1877a9
Makes regular expression selection on collections key case insensitive
...
This issue was initially reported by @michaelgranzow-avi on #2296 .
@airween made an initial attempt to provide a fixed at #2107 ; As a
consequence of the pull request review - provided by @victorhora,
@zimmerle, and @michaelgranzow-avi - @airween made a second attempt
at #2297 . After reviewing by @martinhsv, @zimmerle, I have absorbed
the essential pieces from @airween patch into this one.
This patch differs from @airween's because @airween's patches were
partially working: Key exclusions with regex weren't covered, same
for anchored variables (e.g. ARGS). During the review, I have
highlighted the importance of having elementary test cases. A simple
test case on ARGS could spot the issue. Since that is an important
fix, I don't want to hold this for one more review cycle; therefore,
I am committing the fix myself.
Thank you all involved in the solution of this very own issue.
2020-11-25 09:11:05 -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