mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-30 03:34:29 +03:00
Adds support to SecMarker and skipAfter
This commit is contained in:
14
src/rules.cc
14
src/rules.cc
@@ -172,7 +172,19 @@ int Rules::evaluate(int phase, Assay *assay) {
|
||||
|
||||
for (int i = 0; i < rules.size(); i++) {
|
||||
Rule *rule = rules[i];
|
||||
rule->evaluate(assay);
|
||||
if (assay->m_marker.empty()) {
|
||||
rule->evaluate(assay);
|
||||
} else {
|
||||
debug(9, "Skipped rule id '" + std::to_string(rule->rule_id) + "' due to a SecMarker: " + assay->m_marker);
|
||||
m_secmarker_skipped++;
|
||||
debug(9, "Rule: " + rule->m_marker);
|
||||
if (rule->m_secmarker && rule->m_marker == assay->m_marker) {
|
||||
debug(4, "Out of a SecMarker after skip " \
|
||||
+ std::to_string(m_secmarker_skipped) + " rules.");
|
||||
assay->m_marker.clear();
|
||||
m_secmarker_skipped = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user