Makes RuleWithActions const in run time operations

This commit is contained in:
Felipe Zimmerle
2019-05-08 11:08:24 -03:00
committed by Felipe Zimmerle
parent 0a3b658969
commit 28c3cb3176
90 changed files with 120 additions and 120 deletions

View File

@@ -25,7 +25,7 @@ namespace operators {
bool BeginsWith::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
std::string p(m_string->evaluate(transaction));

View File

@@ -33,7 +33,7 @@ class BeginsWith : public Operator {
: Operator("BeginsWith", std::move(param)) { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -22,7 +22,7 @@ namespace modsecurity {
namespace operators {
bool Contains::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
std::string p(m_string->evaluate(transaction));

View File

@@ -36,7 +36,7 @@ class Contains : public Operator {
: Operator("Contains", std::move(param)) { };
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -37,7 +37,7 @@ bool ContainsWord::acceptableChar(const bpstd::string_view &a, size_t pos) {
}
bool ContainsWord::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &inputView,
RuleMessage *ruleMessage) {
std::string paramTarget(m_string->evaluate(transaction));

View File

@@ -33,7 +33,7 @@ class ContainsWord : public Operator {
: Operator("ContainsWord", std::move(param)) { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -28,7 +28,7 @@ namespace operators {
bool DetectSQLi::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
char fingerprint[8];

View File

@@ -33,7 +33,7 @@ class DetectSQLi : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -27,7 +27,7 @@ namespace operators {
bool DetectXSS::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
int is_xss;

View File

@@ -32,7 +32,7 @@ class DetectXSS : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -24,7 +24,7 @@ namespace operators {
bool EndsWith::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
bool ret = false;

View File

@@ -35,7 +35,7 @@ class EndsWith : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -25,7 +25,7 @@ namespace operators {
bool Eq::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
int p = 0;

View File

@@ -33,7 +33,7 @@ class Eq : public Operator {
: Operator("Eq", std::move(param)) { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -97,7 +97,7 @@ FuzzyHash::~FuzzyHash() {
bool FuzzyHash::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
#ifdef WITH_SSDEEP

View File

@@ -45,7 +45,7 @@ class FuzzyHash : public Operator {
~FuzzyHash();
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -24,7 +24,7 @@ namespace modsecurity {
namespace operators {
bool Ge::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
std::string p(m_string->evaluate(transaction));

View File

@@ -34,7 +34,7 @@ class Ge : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -35,7 +35,7 @@ namespace operators {
bool GeoLookup::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
using std::placeholders::_1;

View File

@@ -31,7 +31,7 @@ class GeoLookup : public Operator {
: Operator("GeoLookup") { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -24,7 +24,7 @@ namespace operators {
bool GsbLookup::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
/**

View File

@@ -32,7 +32,7 @@ class GsbLookup : public Operator {
: Operator("GsbLookup", std::move(param)) { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -24,7 +24,7 @@ namespace modsecurity {
namespace operators {
bool Gt::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
std::string p(m_string->evaluate(transaction));

View File

@@ -35,7 +35,7 @@ class Gt : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -50,7 +50,7 @@ bool InspectFile::init(const std::string &param2, std::string *error) {
bool InspectFile::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
if (m_isScript) {

View File

@@ -38,7 +38,7 @@ class InspectFile : public Operator {
bool init(const std::string &file, std::string *error) override;
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -38,7 +38,7 @@ bool IpMatch::init(const std::string &file, std::string *error) {
bool IpMatch::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
return m_tree.contains(str.c_str());

View File

@@ -35,7 +35,7 @@ class IpMatch : public Operator {
: Operator(n, std::move(param)) { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -24,7 +24,7 @@ namespace modsecurity {
namespace operators {
bool Le::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
std::string p(m_string->evaluate(transaction));

View File

@@ -35,7 +35,7 @@ class Le : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -23,7 +23,7 @@ namespace modsecurity {
namespace operators {
bool Lt::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
std::string p(m_string->evaluate(transaction));

View File

@@ -35,7 +35,7 @@ class Lt : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -21,7 +21,7 @@ namespace modsecurity {
namespace operators {
bool NoMatch::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
return false;

View File

@@ -33,7 +33,7 @@ class NoMatch : public Operator {
: Operator("NoMatch") { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -71,7 +71,7 @@ namespace operators {
bool Operator::evaluateInternal(Transaction *transaction,
RuleWithActions *rule, const bpstd::string_view &a, RuleMessage *rm) {
const RuleWithActions *rule, const bpstd::string_view &a, RuleMessage *rm) {
bool res = evaluate(transaction, rule, a, rm);
if (m_negation) {
@@ -111,7 +111,7 @@ std::string Operator::resolveMatchMessage(Transaction *t,
bool Operator::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
ms_dbg_a(transaction, 2, "Operator: " + m_op + \

View File

@@ -109,12 +109,12 @@ class Operator {
}
bool evaluateInternal(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view& a,
RuleMessage *ruleMessage);
virtual bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage);

View File

@@ -84,7 +84,7 @@ void Pm::postOrderTraversal(acmp_btree_node_t *node) {
bool Pm::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
int rc = -1;

View File

@@ -43,7 +43,7 @@ class Pm : public Operator {
~Pm();
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -203,7 +203,7 @@ void Rbl::furtherInfo(struct sockaddr_in *sin, const std::string &ipStr,
bool Rbl::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
struct addrinfo *info = NULL;

View File

@@ -78,7 +78,7 @@ class Rbl : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -24,7 +24,7 @@ namespace operators {
bool Rsub::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
/**

View File

@@ -34,7 +34,7 @@ class Rsub : public Operator {
: Operator("Rsub", std::move(param)) { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -39,7 +39,7 @@ bool Rx::init(const std::string &file, std::string *error) {
bool Rx::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
Regex *re;

View File

@@ -50,7 +50,7 @@ class Rx : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -36,7 +36,7 @@ bool RxGlobal::init(const std::string &arg, std::string *error) {
}
bool RxGlobal::evaluate(Transaction *transaction, RuleWithActions *rule,
bool RxGlobal::evaluate(Transaction *transaction, const RuleWithActions *rule,
const bpstd::string_view& input, RuleMessage *ruleMessage) {
Regex *re;

View File

@@ -50,7 +50,7 @@ class RxGlobal : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view& input,
RuleMessage *ruleMessage) override;

View File

@@ -21,7 +21,7 @@ namespace modsecurity {
namespace operators {
bool StrEq::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
std::string pt(m_string->evaluate(transaction));

View File

@@ -35,7 +35,7 @@ class StrEq : public Operator {
: Operator("StrEq", std::move(param)) { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -25,7 +25,7 @@ namespace operators {
bool StrMatch::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
std::string p(m_string->evaluate(transaction));

View File

@@ -35,7 +35,7 @@ class StrMatch : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -19,7 +19,7 @@ namespace modsecurity {
namespace operators {
bool UnconditionalMatch::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
return true;

View File

@@ -32,7 +32,7 @@ class UnconditionalMatch : public Operator {
: Operator("UnconditionalMatch") { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -112,7 +112,7 @@ bool ValidateByteRange::init(const std::string &file,
bool ValidateByteRange::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
bool ret = true;

View File

@@ -38,7 +38,7 @@ class ValidateByteRange : public Operator {
~ValidateByteRange() override { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -44,7 +44,7 @@ bool ValidateDTD::init(const std::string &file, std::string *error) {
bool ValidateDTD::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
xmlValidCtxtPtr cvp;

View File

@@ -47,7 +47,7 @@ class ValidateDTD : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -23,7 +23,7 @@ namespace modsecurity {
namespace operators {
bool ValidateHash::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
/**

View File

@@ -33,7 +33,7 @@ class ValidateHash : public Operator {
: Operator("ValidateHash", std::move(param)) { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};

View File

@@ -40,7 +40,7 @@ bool ValidateSchema::init(const std::string &file, std::string *error) {
bool ValidateSchema::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
int rc;

View File

@@ -59,7 +59,7 @@ class ValidateSchema : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -69,7 +69,7 @@ int ValidateUrlEncoding::validate_url_encoding(const char *input,
bool ValidateUrlEncoding::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
size_t offset = 0;

View File

@@ -32,7 +32,7 @@ class ValidateUrlEncoding : public Operator {
: Operator("ValidateUrlEncoding") { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -114,7 +114,7 @@ int ValidateUtf8Encoding::detect_utf8_character(
}
bool ValidateUtf8Encoding::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
unsigned int i, bytes_left;

View File

@@ -39,7 +39,7 @@ class ValidateUtf8Encoding : public Operator {
: Operator("ValidateUtf8Encoding") { }
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -120,7 +120,7 @@ bool VerifyCC::init(const std::string &param2, std::string *error) {
bool VerifyCC::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &i,
RuleMessage *ruleMessage) {
int offset = 0;

View File

@@ -38,7 +38,7 @@ class VerifyCC : public Operator {
bool init(const std::string &param, std::string *error) override;
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -111,7 +111,7 @@ bool VerifyCPF::verify(const char *cpfnumber, int len) {
bool VerifyCPF::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
std::list<SMatch> matches;

View File

@@ -47,7 +47,7 @@ class VerifyCPF : public Operator {
VerifyCPF(const VerifyCPF &a) = delete;
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -113,7 +113,7 @@ invalid:
bool VerifySSN::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) {
std::list<SMatch> matches;

View File

@@ -47,7 +47,7 @@ class VerifySSN : public Operator {
VerifySSN(const VerifySSN &a) = delete;
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -79,7 +79,7 @@ bool VerifySVNR::verify(const char *svnrnumber, int len) {
bool VerifySVNR::evaluate(Transaction *t,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage* ruleMessage) {
std::list<SMatch> matches;

View File

@@ -33,7 +33,7 @@ class VerifySVNR : public Operator {
VerifySVNR(const VerifySVNR &a) = delete;
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;

View File

@@ -25,7 +25,7 @@ namespace operators {
bool Within::evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &str,
RuleMessage *ruleMessage) {
bool res = false;

View File

@@ -35,7 +35,7 @@ class Within : public Operator {
}
bool evaluate(Transaction *transaction,
RuleWithActions *rule,
const RuleWithActions *rule,
const bpstd::string_view &input,
RuleMessage *ruleMessage) override;
};