Changes the operator evaluate method to only support two arguments

Second argument can be empty if there is not need for it.
This commit is contained in:
Felipe Zimmerle 2015-12-18 15:20:46 -03:00
parent 215c4d1071
commit ac10d8863c
22 changed files with 20 additions and 35 deletions

View File

@ -23,7 +23,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool FuzzyHash::evaluate(Assay *assay) { bool FuzzyHash::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator FuzzyHash. * @todo Implement the operator FuzzyHash.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#fuzzyhash * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#fuzzyhash

View File

@ -28,7 +28,7 @@ class FuzzyHash : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
FuzzyHash(std::string o, std::string p, bool i); FuzzyHash(std::string o, std::string p, bool i);
bool evaluate(Assay *assay); bool evaluate(Assay *assay, const std::string &std) override;
}; };
} // namespace operators } // namespace operators

View File

@ -22,7 +22,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool GsbLookup::evaluate(Assay *assay) { bool GsbLookup::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator GeoLookup. * @todo Implement the operator GeoLookup.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#gsblookup * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#gsblookup

View File

@ -28,7 +28,7 @@ class GsbLookup : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
GsbLookup(std::string o, std::string p, bool i); GsbLookup(std::string o, std::string p, bool i);
bool evaluate(Assay *assay); bool evaluate(Assay *assay, const std::string &str);
}; };
} // namespace operators } // namespace operators

View File

@ -22,7 +22,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool InspectFile::evaluate(Assay *assay) { bool InspectFile::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator InspectFile. * @todo Implement the operator InspectFile.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#inspectfile * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#inspectfile

View File

@ -28,7 +28,7 @@ class InspectFile : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
InspectFile(std::string o, std::string p, bool i); InspectFile(std::string o, std::string p, bool i);
bool evaluate(Assay *assay) override; bool evaluate(Assay *assay, const std::string &str) override;
}; };
} // namespace operators } // namespace operators

View File

@ -74,20 +74,6 @@ bool Operator::debug(Assay *assay, int x, std::string a) {
} }
bool Operator::evaluate(Assay *assay) {
#ifndef NO_LOGS
if (assay) {
assay->debug(2, "Operator: " + this->op + \
" is not implemented or malfunctioning.");
} else {
std::cerr << "Operator: " + this->op + \
" is not implemented or malfunctioning.";
}
#endif
return true;
}
bool Operator::evaluate(Assay *assay, const std::string& a) { bool Operator::evaluate(Assay *assay, const std::string& a) {
#ifndef NO_LOGS #ifndef NO_LOGS
if (assay) { if (assay) {

View File

@ -44,7 +44,6 @@ class Operator {
return true; return true;
} }
virtual bool evaluate(Assay *assay);
virtual bool evaluate(Assay *assay, const std::string &str); virtual bool evaluate(Assay *assay, const std::string &str);
static Operator *instantiate(std::string op); static Operator *instantiate(std::string op);
protected: protected:

View File

@ -22,7 +22,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool Rbl::evaluate(Assay *assay) { bool Rbl::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator Rbl. * @todo Implement the operator Rbl.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#rbl * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#rbl

View File

@ -29,7 +29,7 @@ class Rbl : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
Rbl(std::string o, std::string p, bool i); Rbl(std::string o, std::string p, bool i);
bool evaluate(Assay *assay); bool evaluate(Assay *assay, const std::string &str) override;
}; };
} // namespace operators } // namespace operators

View File

@ -22,7 +22,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool Rsub::evaluate(Assay *assay) { bool Rsub::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator Rsub. * @todo Implement the operator Rsub.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#rsub * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#rsub

View File

@ -28,7 +28,7 @@ class Rsub : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
Rsub(std::string o, std::string p, bool i); Rsub(std::string o, std::string p, bool i);
bool evaluate(Assay *assay); bool evaluate(Assay *assay, const std::string &str) override;
}; };
} // namespace operators } // namespace operators
} // namespace modsecurity } // namespace modsecurity

View File

@ -22,7 +22,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool ValidateDTD::evaluate(Assay *assay) { bool ValidateDTD::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator ValidateDTD. * @todo Implement the operator ValidateDTD.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#validateDTD * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#validateDTD

View File

@ -28,7 +28,7 @@ class ValidateDTD : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
ValidateDTD(std::string o, std::string p, bool i); ValidateDTD(std::string o, std::string p, bool i);
bool evaluate(Assay *assay); bool evaluate(Assay *assay, const std::string &str) override;
}; };
} // namespace operators } // namespace operators

View File

@ -22,7 +22,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool ValidateHash::evaluate(Assay *assay) { bool ValidateHash::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator ValidateHash. * @todo Implement the operator ValidateHash.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#validateHash * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#validateHash

View File

@ -28,7 +28,7 @@ class ValidateHash : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
ValidateHash(std::string o, std::string p, bool i); ValidateHash(std::string o, std::string p, bool i);
bool evaluate(Assay *assay); bool evaluate(Assay *assay, const std::string &str) override;
}; };
} // namespace operators } // namespace operators

View File

@ -22,7 +22,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool ValidateSchema::evaluate(Assay *assay) { bool ValidateSchema::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator ValidateSchema. * @todo Implement the operator ValidateSchema.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#validateSchema * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#validateSchema

View File

@ -28,7 +28,7 @@ class ValidateSchema : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
ValidateSchema(std::string o, std::string p, bool i); ValidateSchema(std::string o, std::string p, bool i);
bool evaluate(Assay *assay); bool evaluate(Assay *assay, const std::string &str) override;
}; };
} // namespace operators } // namespace operators

View File

@ -22,7 +22,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool VerifyCPF::evaluate(Assay *assay) { bool VerifyCPF::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator VerifyCPF. * @todo Implement the operator VerifyCPF.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#verifyCPF * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#verifyCPF

View File

@ -28,7 +28,7 @@ class VerifyCPF : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
VerifyCPF(std::string o, std::string p, bool i); VerifyCPF(std::string o, std::string p, bool i);
bool evaluate(Assay *assay); bool evaluate(Assay *assay, const std::string &str) override;
}; };
} // namespace operators } // namespace operators

View File

@ -22,7 +22,7 @@
namespace modsecurity { namespace modsecurity {
namespace operators { namespace operators {
bool VerifySSN::evaluate(Assay *assay) { bool VerifySSN::evaluate(Assay *assay, const std::string &str) {
/** /**
* @todo Implement the operator VerifySSN. * @todo Implement the operator VerifySSN.
* Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#verifySSN * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#verifySSN

View File

@ -29,7 +29,7 @@ class VerifySSN : public Operator {
public: public:
/** @ingroup ModSecurity_Operator */ /** @ingroup ModSecurity_Operator */
VerifySSN(std::string o, std::string p, bool i); VerifySSN(std::string o, std::string p, bool i);
bool evaluate(Assay *assay); bool evaluate(Assay *assay, const std::string &str) override;
}; };
} // namespace operators } // namespace operators