Ervin Hegedus
c9af0c747e
Merge pull request #3221 from eduar-hte/unittest-multithreaded
...
Add support to run unit tests in a multithreaded context
2024-08-14 12:18:07 +02:00
Eduardo Arias
ee5f95eb04
Added support to run unit tests in a multithreaded context
...
- This is controlled by specifying the 'mtstress' argument when running
`unit_test`.
- The goal is to detect if the operator/transformation fails in this
context.
- In this mode, the test will be executed 5'000 times in 50 threads
concurrently.
- Allocation & initialization of the operator/transformation is
performed once in the main thread, while the evaluation is executed in
the threads.
- This is consistent with the library's support for multithreading,
where initialization and loading of rules is expected to run once.
See issue #3215 .
2024-08-13 14:06:23 -07:00
Ervin Hegedus
6388d88f38
Check if the MP header contains invalid character
2024-08-13 18:26:18 +02:00
Ervin Hegedus
eb26b7960c
Fix regression test result; Add test to main test-suite list
2024-08-12 18:46:19 +02:00
Ervin Hegedus
3a83196a71
Merge pull request #3219 from eduar-hte/cpp17
...
Simplifiy configuration to build using std C++17
2024-08-09 17:34:02 +02:00
Eduardo Arias
c917d6a2dc
Initialize variable in if statement to avoid doing dynamic_cast twice
...
- Refactored duplicate code in RuleWithOperator::getVariablesExceptions
- Leveraged auto to simplify declaration of dynamic_cast pointers.
2024-08-08 13:37:23 -07:00
Ervin Hegedus
a23e88f79f
Merge pull request #3114 from airween/v3/sonarmemleakfix
...
fix: Sonarcloud memleak fixes
2024-08-08 21:02:15 +02:00
Eduardo Arias
59254fe3bd
Simplifiy configuration to build libModSecurity with std C++17
...
- Leveraged autoconf again to check whether the C++ compiler supports
the required standard version and build using it.
- Replaced the outdaded `ax_cxx_compile_stdcxx_11.m4` macro with the
latest version of `ax_cxx_compile_stdcxx` which supports C++17.
- https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
- https://raw.githubusercontent.com/autoconf-archive/autoconf-archive/e4e5269db2764b9f53d759c24750ac6ca38e02ea/m4/ax_cxx_compile_stdcxx.m4
- This should also streamline updating to C++20 in the future.
2024-08-08 11:23:35 -07:00
Eduardo Arias
c802b46b7e
Simplify parser error detection in testcase
...
- After the GitHub macOS runner images were upgraded to macOS 14.6
(Sonoma), the test 'Include remote rules - failed download (Abort)'
started failing because the error message reported by curl/OS is no
longer 'HTTP response code said error'.
2024-08-06 14:40:59 -07:00
Eduardo Arias
0dce46062b
Fixed potential memory leak when there is an intervention and log or url is set.
2024-08-05 12:18:11 -07:00
Ervin Hegedus
6cffa8f904
Add _putenv() in case of WIN32 port instead of setenv()
2024-08-05 14:30:26 +02:00
Ervin Hegedus
82801752d4
Merge branch 'v3/master' into v3/sonarmemleakfix
2024-08-05 14:04:04 +02:00
Ervin Hegedus
937fc5ae59
Provide a function to set 'hostname' field in log
2024-07-29 22:07:26 +02:00
Eduardo Arias
eb62cac7fa
Add script to download OWASP CRS v4 to run benchmark
...
- Simplified clone & checkout of CRS repository
- Removed no longer maintained OWASP Core Ruleset v2
2024-07-17 00:49:27 +00:00
Eduardo Arias
a3f40ef03c
Replace Mbed TLS source code in repository with a submodule
...
- Updated to latest Mbed TLS version (v3.6.0)
2024-05-31 00:41:10 +00:00
Eduardo Arias
7732b5e8f3
Update libinjection to version v3.9.2-92-gb9fcaaf
2024-05-31 00:41:10 +00:00
Eduardo Arias
7267c1dc21
Added support to run regression tests without libxml2
...
- Annotated regression tests that depend on libxml2 support
- Added Windows build without libxml2
2024-05-19 18:55:34 +00:00
Eduardo Arias
e6e2989bd5
Configure test fixture using CTest for Windows build
...
- Added new test/test_suite.in with list of regression and unit tests
previously in Makefile.am, to be shared between Unix and Windows
builds.
- Updated regression.cc & unit.cc to return the number of failed tests
to indicate to CTest that the test failed. Similarly, a crash or
unhandled exception terminates the process with a non-zero exit code.
- This change doesn't affect running the tests with autotest in Unix
builds because this processes test output from custom-test-driver &
test-suite.sh, and ignores the exit code of the test runner.
- Removed comment in test/test-cases/regression-offset-variable.json as
this is not supported by JSON and prevents strict parsers to read and
process the file.
- Minor change in regression.cc's clearAuditLog to replace std::ifstream
with std::ofstream as the mode to open the flag applies to an output
stream.
- Minor change in unit.cc to simplify code that deletes tests.
- Minor changes to test/custom-test-driver to correct usage information.
2024-05-13 10:22:12 -07:00
Eduardo Arias
7bff2f77aa
Updated references to coreruleset repository
...
- For OWASP v2 rules, switch to a v2 tag for the paths referenced in
the rest of the script to apply.
2024-05-03 23:05:34 -03:00
Eduardo Arias
a48856822c
Updated included headers to support compilation on Windows (using Visual C++)
...
- most of posix related functions and constants in unistd.h can be
found in io.h in Visual C++
- introduced src/compat/msvc.h to adjust for compiler differences (and
avoid updating code with #ifdef blocks for Windows support)
- removed some included headers that are not needed (both on Unix and
Windows builds)
2024-05-03 23:05:34 -03:00
Eduardo Arias
9f5dc200ba
Replace final three suppressions entries with line numbers
...
- These were initially not included in these changes, as they were
other PRs (#3104 & #3132 ) that address them.
2024-04-29 22:28:42 -03:00
Eduardo Arias
95ce3a7db4
Removed unused suppressions
2024-04-28 14:56:47 -03:00
Eduardo Arias
7a9c0ab15f
Removed unused suppresion and avoid copy of logPath
2024-04-28 14:56:37 -03:00
Eduardo Arias
4aad8e0d06
Inline cppcheck suppressions
2024-04-28 14:56:23 -03:00
Eduardo Arias
0c38023b21
Removed unmatchedSuppression entries
2024-04-28 14:56:11 -03:00
Eduardo Arias
cd2dded659
Removed unnecessary break after return
2024-04-28 14:56:00 -03:00
Eduardo Arias
0cd2f459f3
Address cppcheck suppressions in lmdb
2024-04-28 14:55:49 -03:00
Eduardo Arias
94b68b2514
Minor updates to simplify code and remove cppcheck suppressions
2024-04-28 14:55:38 -03:00
Eduardo Arias
fde9d279b0
Removed unnecessary cppcheck suppression and r-value reference as copy should be avoidded by RVO
2024-04-28 14:55:18 -03:00
Eduardo Arias
b872f11f68
Fixed memory leak in examples/reading_logs_via_rule_message
2024-04-28 14:55:06 -03:00
Ervin Hegedus
4085ff5536
Replace putenv by setenv
2024-03-27 13:14:11 +01:00
Ervin Hegedus
39848e5564
Fix memleak in regression.cc
2024-03-27 11:45:05 +01:00
Ervin Hegedus
f474cc59b8
Merge pull request #3079 from MirkoDziadzka/mirko-bump-c++-version
...
No other remark was added, merging. Thanks @MirkoDziadzka.
2024-02-27 19:34:48 +01:00
Ervin Hegedus
16c899fb3b
Revert "Add new condition to test case"
...
This reverts commit 80e244388438b729e7cba4d8a6e48ac81be2b1d8.
2024-02-12 16:54:48 +01:00
Ervin Hegedus
80e2443884
Add new condition to test case
2024-02-12 11:55:17 +01:00
Ervin Hegedus
ed811f1062
Logical, syntax and cosmetic fixes on test cases
2024-02-11 10:14:40 +01:00
Mirko Dziadzka
367a871f30
Bump the C++ version from C++11 to C++17
...
This will allow the usage of more modern features in the future.
2024-02-09 21:57:31 +01:00
Ervin Hegedus
5f28c2bb21
Change REQUEST_FILENAME behavior
2024-01-30 12:21:45 +01:00
Martin Vierula
a9edee3dbe
const-ify some references in test folder
2023-10-27 11:39:08 -07:00
Martin Vierula
de2d053d6e
Remove unneeded cppcheck suppression
2023-10-27 09:48:16 -07:00
Martin Vierula
c63b5bea1d
Change linux workflow to Ubuntu 22.04
2023-10-11 13:43:11 -07:00
Martin Vierula
34809d8064
Add expirevar support for lmdb
2023-10-10 10:31:52 -07:00
Martin Vierula
118e1b3a44
Support expirevar for in-memory collection
2023-09-29 11:40:03 -07:00
Martin Vierula
af45ccd53f
Fix: lmdb regex match on non-null-terminated string
2023-09-18 08:27:41 -07:00
Martin Vierula
8594cb8a7d
Correct json for one regression test file
2023-09-13 06:59:15 -07:00
martinhsv
fea6e6d60b
Merge pull request #2901 from airween/v3/pcrelimittx
...
Set TX:MSC_PCRE_LIMITS_EXCEEDED variable is limits exceeded
2023-07-07 17:31:20 -04:00
Martin Vierula
b8e1aedef3
Fix: Lua scripts cannot read whole collection at once
2023-06-13 06:41:40 -07:00
Martin Vierula
938707d117
Fix: quoted Include config with wildcard
2023-05-30 09:32:07 -07:00
Ervin Hegedüs
4403a163c4
Set TX:MSC_PCRE_LIMITS_EXCEEDED variable is limits exceeded
2023-05-14 17:26:08 +02:00
Martin Vierula
2121938c51
Change some parms to reference-to-const to satisfy cppcheck
2023-05-11 15:06:25 -07:00