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
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
2c488386c4
Add options nounistd & never-interactive to seclang-scanner.ll
...
- The parser is not used interactively so we can avoid including
unistd.h, which is not available on Windows MSVC C++ compiler.
- The #ifdef WIN32 introduced in PR #3132 would probably be overwritten
when the parser is updated.
2024-05-19 16:38:03 +00: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
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
Martin Vierula
118e1b3a44
Support expirevar for in-memory collection
2023-09-29 11:40:03 -07:00
Martin Vierula
938707d117
Fix: quoted Include config with wildcard
2023-05-30 09:32:07 -07:00
martinhsv
09a135baab
Merge pull request #2736 from brandonpayton/add-regex-match-limits-and-error-reporting
...
Add isolated PCRE match limits as a layer of ReDoS defense
2023-05-09 06:09:28 -07:00
Martin Vierula
9ea50a4973
Change arg from pass-by-value (satisify cppcheck)
2023-04-17 07:43:38 -07:00
Martin Vierula
dbe107e280
Update some copyright notices
2023-04-11 17:26:09 -07:00
Brandon Payton
f3d8198b84
Respond to code review feedback
2023-04-11 13:47:02 -04:00
Brandon Payton
0c42ee229e
Switch to simpler PCRE error flags
2023-04-11 13:44:07 -04:00
Brandon Payton
8c269d31c5
Update Regex util to support match limits
...
If the rx or rxGlobal operator encounters a regex error,
the RX_ERROR and RX_ERROR_RULE_ID variables are set.
RX_ERROR contains a simple error code which can be either
OTHER or MATCH_LIMIT. RX_ERROR_RULE_ID unsurprisingly
contains the ID of the rule associated with the error.
More than one rule may encounter regex errors,
but only the first error is reflected in these variables.
2023-04-11 13:40:40 -04:00
Martin Vierula
55d6aa94e1
Resolve memory leak (bison-generated position.filename)
2023-02-17 09:59:34 -08:00
Martin Vierula
ec1232a69b
Support equals sign in XPath expressions
2023-01-19 08:37:38 -08:00
Martin Vierula
69545eade9
Remove some no-longer-used parser definitions
2023-01-13 17:35:08 -08:00
Martin Vierula
53cf6eb6bf
Correct whitespace handling for Include directive
2022-09-14 12:27:21 -07:00
Martin Vierula
0840a29c33
Advance bison version to v3.7.6
2022-09-12 20:26:13 -07:00
Martin Vierula
fa6e41857d
Multipart parsing fixes and new MULTIPART_PART_HEADERS collection
2022-09-07 06:29:20 -07:00
Martin Vierula
2d51efae49
Add ctl:auditengine action support
2022-01-20 14:04:30 -08:00
Martin Vierula
ac79c1c29b
Support configurable limit on depth of JSON parsing
2021-11-15 18:51:25 -08:00
Felipe Zimmerle
4cdcc15334
Revert "Adds suppor for HyperScan in the bulid system"
...
This reverts commit 912704b6d4e45aa601b87c5a4cf4b6061d1bbccb.
2021-02-26 11:33:12 -03:00
Felipe Zimmerle
912704b6d4
Adds suppor for HyperScan in the bulid system
2021-02-26 11:15:02 -03:00
Felipe Zimmerle
2e69ce6ccf
build: Fix curl include path
...
Issue #2519
2021-02-24 13:20:24 -03:00
Felipe Zimmerle
50fc347ed4
Fix rules dump
...
The unique pointer for file name was being used multiple times
on SecMarker.
2021-02-04 11:07:22 -03:00
Felipe Zimmerle
3748d62f19
Changes copyright dates on the code
2021-01-19 09:24:37 -03:00
martinhsv
2672db103e
Add support for new operator rxGlobal
2020-10-26 08:55:07 -03:00
Felipe Zimmerle
995f22b3ce
Having Bison 3.7.2
2020-10-14 13:58:37 -03:00
Felipe Zimmerle
7a48245aed
Creates RuleUnconditional
...
Makes RuleScript child of RuleWithActions instead of Operator
2020-03-31 14:44:19 -03:00
Felipe Zimmerle
8274be066a
Refactoring: Having RuleMarker in a separated file
2020-03-31 12:45:46 -03:00
Felipe Zimmerle
59d4268882
Refactoring: renames Rule to RuleWithOperator
2020-03-31 10:00:08 -03:00
Felipe Zimmerle
43f8aee6b6
Splits Rule class into: Rule, RuleBase, RuleMarker
2020-03-30 20:21:36 -03:00
Felipe Zimmerle
fda03c0016
Yet another refactoring in Rule
2020-03-30 15:38:51 -03:00
Felipe Zimmerle
b66224853b
Refactoring in Rule: Meaningful structures name
2020-03-27 17:43:43 -03:00
Felipe Zimmerle
96849c07de
Makes action name a shared pointer
2020-03-27 16:13:15 -03:00
Felipe Zimmerle
343b86c2a7
Makes m_fileName a shared pointer
2020-03-27 15:00:22 -03:00
Felipe Zimmerle
6b0ad8049a
Having default actions as o shared pointer
2020-03-26 09:59:57 -03:00
Felipe Zimmerle
9d158611cf
Makes Rule a shared pointer
2020-03-25 16:11:23 -03:00
Felipe Zimmerle
6367e6d5e9
Having a class Rules
2020-03-24 17:20:10 -03:00
Felipe Zimmerle
fb7714f202
Creates class RulesSetPhases
2020-03-24 14:00:28 -03:00
Felipe Zimmerle
88789a577f
parser: Using bison 3.5.2
2020-03-11 14:21:11 -03:00
Felipe Zimmerle
1e26bf2078
Revert "Creates the RulesSetPhases clas"
...
This reverts commit 072e4edc53e388fdf64a5eb9d4317544a1c8ada6.
2020-03-11 08:17:56 -03:00
Felipe Zimmerle
072e4edc53
Creates the RulesSetPhases clas
2020-03-05 07:13:02 -03:00
Felipe Zimmerle
6a742cdf76
Refactoring: Renames RulesProperties to RulesSetProperties
2020-02-17 13:17:03 -03:00
martinhsv
f57265a3e2
Support configurable limit on number of arguments processed
2020-02-14 11:00:01 -03:00
Felipe Zimmerle
7495675d54
Refactoring: Renames Rules to RulesSet
...
RulesSet does not only contain rules but alse properties
2020-02-11 14:26:47 -03:00
Felipe Zimmerle
0c3e8b6b59
parser: cosmetics: makes it easy to read
2020-02-11 13:10:49 -03:00
Felipe Zimmerle
6a0df8ca5c
parser: new bison version
2020-02-11 11:15:09 -03:00
Felipe Zimmerle
357c140003
Changens copyright year
2020-01-31 10:32:37 -03:00