Refactoring: Renames RuleBase to Rule

This commit is contained in:
Felipe Zimmerle 2019-02-19 13:34:36 -03:00
parent 59d4268882
commit bdedfd2463
No known key found for this signature in database
GPG Key ID: E6DFB08CE8B11277
8 changed files with 17 additions and 17 deletions

View File

@ -66,9 +66,9 @@ using Tags = std::vector<actions::Tag *>;
using SetVars = std::vector<actions::SetVar *>; using SetVars = std::vector<actions::SetVar *>;
using MatchActions = std::vector<actions::Action *>; using MatchActions = std::vector<actions::Action *>;
class RuleBase { class Rule {
public: public:
RuleBase(std::unique_ptr<std::string> fileName, int lineNumber) Rule(std::unique_ptr<std::string> fileName, int lineNumber)
: m_fileName(std::move(fileName)), : m_fileName(std::move(fileName)),
m_lineNumber(lineNumber), m_lineNumber(lineNumber),
m_phase(modsecurity::Phases::RequestHeadersPhase) { m_phase(modsecurity::Phases::RequestHeadersPhase) {
@ -103,13 +103,13 @@ class RuleBase {
}; };
class RuleMarker : public RuleBase { class RuleMarker : public Rule {
public: public:
RuleMarker( RuleMarker(
const std::string &name, const std::string &name,
std::unique_ptr<std::string> fileName, std::unique_ptr<std::string> fileName,
int lineNumber) int lineNumber)
: RuleBase(std::move(fileName), lineNumber), : Rule(std::move(fileName), lineNumber),
m_name(std::make_shared<std::string>(name)) { } m_name(std::make_shared<std::string>(name)) { }
@ -139,7 +139,7 @@ class RuleMarker : public RuleBase {
}; };
class RuleWithActions : public RuleBase { class RuleWithActions : public Rule {
public: public:
RuleWithActions( RuleWithActions(
Actions *a, Actions *a,

View File

@ -61,11 +61,11 @@ class Rules {
return j; return j;
} }
bool insert(std::shared_ptr<RuleBase> rule) { bool insert(std::shared_ptr<Rule> rule) {
return insert(rule, nullptr, nullptr); return insert(rule, nullptr, nullptr);
} }
bool insert(std::shared_ptr<RuleBase> rule, const std::vector<int64_t> *ids, std::ostringstream *err) { bool insert(std::shared_ptr<Rule> rule, const std::vector<int64_t> *ids, std::ostringstream *err) {
RuleWithOperator *r = dynamic_cast<RuleWithOperator *>(rule.get()); RuleWithOperator *r = dynamic_cast<RuleWithOperator *>(rule.get());
if (r && ids != nullptr && std::binary_search(ids->begin(), ids->end(), r->m_ruleId)) { if (r && ids != nullptr && std::binary_search(ids->begin(), ids->end(), r->m_ruleId)) {
if (err != nullptr) { if (err != nullptr) {
@ -79,10 +79,10 @@ class Rules {
} }
size_t size() const { return m_rules.size(); } size_t size() const { return m_rules.size(); }
std::shared_ptr<RuleBase> operator[](int index) const { return m_rules[index]; } std::shared_ptr<Rule> operator[](int index) const { return m_rules[index]; }
std::shared_ptr<RuleBase> at(int index) const { return m_rules[index]; } std::shared_ptr<Rule> at(int index) const { return m_rules[index]; }
std::vector<std::shared_ptr<RuleBase> > m_rules; std::vector<std::shared_ptr<Rule> > m_rules;
}; };

View File

@ -43,7 +43,7 @@ class Driver;
class RulesSetPhases { class RulesSetPhases {
public: public:
bool insert(std::shared_ptr<RuleBase> rule); bool insert(std::shared_ptr<Rule> rule);
int append(RulesSetPhases *from, std::ostringstream *err); int append(RulesSetPhases *from, std::ostringstream *err);
void dump() const; void dump() const;

View File

@ -57,7 +57,7 @@ RuleWithActions::RuleWithActions(
Transformations *transformations, Transformations *transformations,
std::unique_ptr<std::string> fileName, std::unique_ptr<std::string> fileName,
int lineNumber) int lineNumber)
: RuleBase(std::move(fileName), lineNumber), : Rule(std::move(fileName), lineNumber),
m_rev(""), m_rev(""),
m_ver(""), m_ver(""),
m_accuracy(0), m_accuracy(0),

View File

@ -135,7 +135,7 @@ int RulesSet::evaluate(int phase, Transaction *t) {
for (int i = 0; i < rules->size(); i++) { for (int i = 0; i < rules->size(); i++) {
// FIXME: This is not meant to be here. At the end of this refactoring, // FIXME: This is not meant to be here. At the end of this refactoring,
// the shared pointer won't be used. // the shared pointer won't be used.
std::shared_ptr<RuleBase> rule = rules->at(i); std::shared_ptr<Rule> rule = rules->at(i);
if (t->isInsideAMarker() && !rule->isMarker()) { if (t->isInsideAMarker() && !rule->isMarker()) {
ms_dbg_a(t, 9, "Skipped rule id '" + rule->getReference() \ ms_dbg_a(t, 9, "Skipped rule id '" + rule->getReference() \
+ "' due to a SecMarker: " + *t->getCurrentMarker()); + "' due to a SecMarker: " + *t->getCurrentMarker());
@ -152,7 +152,7 @@ int RulesSet::evaluate(int phase, Transaction *t) {
ms_dbg_a(t, 9, "Skipped rule id '" + rule->getReference() \ ms_dbg_a(t, 9, "Skipped rule id '" + rule->getReference() \
+ "' as request trough the utilization of an `allow' action."); + "' as request trough the utilization of an `allow' action.");
} else { } else {
RuleBase *base = rule.get(); Rule *base = rule.get();
RuleWithOperator *ruleWithOperator = dynamic_cast<RuleWithOperator *>(base); RuleWithOperator *ruleWithOperator = dynamic_cast<RuleWithOperator *>(base);
if (m_exceptions.contains(ruleWithOperator->m_ruleId)) { if (m_exceptions.contains(ruleWithOperator->m_ruleId)) {
ms_dbg_a(t, 9, "Skipped rule id '" + rule->getReference() \ ms_dbg_a(t, 9, "Skipped rule id '" + rule->getReference() \

View File

@ -29,7 +29,7 @@
namespace modsecurity { namespace modsecurity {
bool RulesSetPhases::insert(std::shared_ptr<RuleBase> rule) { bool RulesSetPhases::insert(std::shared_ptr<Rule> rule) {
if (rule->getPhase() >= modsecurity::Phases::NUMBER_OF_PHASES) { if (rule->getPhase() >= modsecurity::Phases::NUMBER_OF_PHASES) {
return false; return false;
} }

View File

@ -51,7 +51,7 @@ std::string RunTimeString::evaluate(Transaction *t) {
} }
std::string RunTimeString::evaluate(Transaction *t, RuleBase *r) { std::string RunTimeString::evaluate(Transaction *t, Rule *r) {
std::string s; std::string s;
for (auto &z : m_elements) { for (auto &z : m_elements) {
if (z->m_string.size() > 0) { if (z->m_string.size() > 0) {

View File

@ -49,7 +49,7 @@ class RunTimeString {
void appendText(const std::string &text); void appendText(const std::string &text);
void appendVar(std::unique_ptr<modsecurity::variables::Variable> var); void appendVar(std::unique_ptr<modsecurity::variables::Variable> var);
std::string evaluate(Transaction *t); std::string evaluate(Transaction *t);
std::string evaluate(Transaction *t, RuleBase *r); std::string evaluate(Transaction *t, Rule *r);
std::string evaluate() { std::string evaluate() {
return evaluate(NULL); return evaluate(NULL);
} }