mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 13:56:01 +03:00
Rule: isMarker is no longer necessary
This commit is contained in:
parent
2b9ec1a0f1
commit
81542a0676
@ -101,9 +101,6 @@ class Rule {
|
||||
return *m_fileName + ":" + std::to_string(m_lineNumber);
|
||||
}
|
||||
|
||||
|
||||
virtual bool isMarker() { return false; }
|
||||
|
||||
private:
|
||||
std::shared_ptr<std::string> m_fileName;
|
||||
int m_lineNumber;
|
||||
|
@ -58,12 +58,10 @@ class RuleMarker : public Rule {
|
||||
};
|
||||
|
||||
|
||||
std::shared_ptr<std::string> getName() {
|
||||
std::shared_ptr<std::string> getName() const {
|
||||
return m_name;
|
||||
}
|
||||
|
||||
bool isMarker() override { return true; }
|
||||
|
||||
private:
|
||||
std::shared_ptr<std::string> m_name;
|
||||
};
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "modsecurity/rules_set.h"
|
||||
#include "modsecurity/rule_marker.h"
|
||||
#include "modsecurity/modsecurity.h"
|
||||
#include "modsecurity/transaction.h"
|
||||
#include "src/parser/driver.h"
|
||||
@ -176,12 +177,14 @@ int RulesSet::evaluate(int phase, Transaction *t) {
|
||||
// FIXME: This is not meant to be here. At the end of this refactoring,
|
||||
// the shared pointer won't be used.
|
||||
auto rule = rules->at(i);
|
||||
if (t->isInsideAMarker() && !rule->isMarker()) {
|
||||
ms_dbg_a(t, 9, "Skipped rule id '" + rule->getReference() \
|
||||
+ "' due to a SecMarker: " + *t->getCurrentMarker());
|
||||
|
||||
} else if (rule->isMarker()) {
|
||||
rule->evaluate(t);
|
||||
if (t->isInsideAMarker()) {
|
||||
RuleMarker *ruleMarker = dynamic_cast<RuleMarker *>(rule.get());
|
||||
if (!ruleMarker) {
|
||||
ms_dbg_a(t, 9, "Skipped rule id '" + rule->getReference() \
|
||||
+ "' due to a SecMarker: " + *t->getCurrentMarker());
|
||||
} else {
|
||||
rule->evaluate(t);
|
||||
}
|
||||
} else if (t->m_skip_next > 0) {
|
||||
t->m_skip_next--;
|
||||
ms_dbg_a(t, 9, "Skipped rule id '" + rule->getReference() \
|
||||
|
Loading…
x
Reference in New Issue
Block a user