From ac10d8863cc29d16bbb84f27ba08edabaef64e71 Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Fri, 18 Dec 2015 15:20:46 -0300 Subject: [PATCH] Changes the operator evaluate method to only support two arguments Second argument can be empty if there is not need for it. --- src/operators/fuzzy_hash.cc | 2 +- src/operators/fuzzy_hash.h | 2 +- src/operators/gsblookup.cc | 2 +- src/operators/gsblookup.h | 2 +- src/operators/inspect_file.cc | 2 +- src/operators/inspect_file.h | 2 +- src/operators/operator.cc | 14 -------------- src/operators/operator.h | 1 - src/operators/rbl.cc | 2 +- src/operators/rbl.h | 2 +- src/operators/rsub.cc | 2 +- src/operators/rsub.h | 2 +- src/operators/validate_dtd.cc | 2 +- src/operators/validate_dtd.h | 2 +- src/operators/validate_hash.cc | 2 +- src/operators/validate_hash.h | 2 +- src/operators/validate_schema.cc | 2 +- src/operators/validate_schema.h | 2 +- src/operators/verify_cpf.cc | 2 +- src/operators/verify_cpf.h | 2 +- src/operators/verify_ssn.cc | 2 +- src/operators/verify_ssn.h | 2 +- 22 files changed, 20 insertions(+), 35 deletions(-) diff --git a/src/operators/fuzzy_hash.cc b/src/operators/fuzzy_hash.cc index da4c6b71..dd295842 100644 --- a/src/operators/fuzzy_hash.cc +++ b/src/operators/fuzzy_hash.cc @@ -23,7 +23,7 @@ namespace modsecurity { namespace operators { -bool FuzzyHash::evaluate(Assay *assay) { +bool FuzzyHash::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator FuzzyHash. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#fuzzyhash diff --git a/src/operators/fuzzy_hash.h b/src/operators/fuzzy_hash.h index 5597d87f..cc21212a 100644 --- a/src/operators/fuzzy_hash.h +++ b/src/operators/fuzzy_hash.h @@ -28,7 +28,7 @@ class FuzzyHash : public Operator { public: /** @ingroup ModSecurity_Operator */ FuzzyHash(std::string o, std::string p, bool i); - bool evaluate(Assay *assay); + bool evaluate(Assay *assay, const std::string &std) override; }; } // namespace operators diff --git a/src/operators/gsblookup.cc b/src/operators/gsblookup.cc index 3df83c34..862b71a0 100644 --- a/src/operators/gsblookup.cc +++ b/src/operators/gsblookup.cc @@ -22,7 +22,7 @@ namespace modsecurity { namespace operators { -bool GsbLookup::evaluate(Assay *assay) { +bool GsbLookup::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator GeoLookup. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#gsblookup diff --git a/src/operators/gsblookup.h b/src/operators/gsblookup.h index 16993444..4e58fd15 100644 --- a/src/operators/gsblookup.h +++ b/src/operators/gsblookup.h @@ -28,7 +28,7 @@ class GsbLookup : public Operator { public: /** @ingroup ModSecurity_Operator */ GsbLookup(std::string o, std::string p, bool i); - bool evaluate(Assay *assay); + bool evaluate(Assay *assay, const std::string &str); }; } // namespace operators diff --git a/src/operators/inspect_file.cc b/src/operators/inspect_file.cc index 0f065c54..d8cdc502 100644 --- a/src/operators/inspect_file.cc +++ b/src/operators/inspect_file.cc @@ -22,7 +22,7 @@ namespace modsecurity { namespace operators { -bool InspectFile::evaluate(Assay *assay) { +bool InspectFile::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator InspectFile. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#inspectfile diff --git a/src/operators/inspect_file.h b/src/operators/inspect_file.h index ac40d6db..a7af84bc 100644 --- a/src/operators/inspect_file.h +++ b/src/operators/inspect_file.h @@ -28,7 +28,7 @@ class InspectFile : public Operator { public: /** @ingroup ModSecurity_Operator */ 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 diff --git a/src/operators/operator.cc b/src/operators/operator.cc index 05c335b6..74467073 100644 --- a/src/operators/operator.cc +++ b/src/operators/operator.cc @@ -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) { #ifndef NO_LOGS if (assay) { diff --git a/src/operators/operator.h b/src/operators/operator.h index 7162f343..e9143113 100644 --- a/src/operators/operator.h +++ b/src/operators/operator.h @@ -44,7 +44,6 @@ class Operator { return true; } - virtual bool evaluate(Assay *assay); virtual bool evaluate(Assay *assay, const std::string &str); static Operator *instantiate(std::string op); protected: diff --git a/src/operators/rbl.cc b/src/operators/rbl.cc index 646eca29..edb2cdbb 100644 --- a/src/operators/rbl.cc +++ b/src/operators/rbl.cc @@ -22,7 +22,7 @@ namespace modsecurity { namespace operators { -bool Rbl::evaluate(Assay *assay) { +bool Rbl::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator Rbl. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#rbl diff --git a/src/operators/rbl.h b/src/operators/rbl.h index fae310e8..807d466d 100644 --- a/src/operators/rbl.h +++ b/src/operators/rbl.h @@ -29,7 +29,7 @@ class Rbl : public Operator { public: /** @ingroup ModSecurity_Operator */ Rbl(std::string o, std::string p, bool i); - bool evaluate(Assay *assay); + bool evaluate(Assay *assay, const std::string &str) override; }; } // namespace operators diff --git a/src/operators/rsub.cc b/src/operators/rsub.cc index 7f108081..3442479e 100644 --- a/src/operators/rsub.cc +++ b/src/operators/rsub.cc @@ -22,7 +22,7 @@ namespace modsecurity { namespace operators { -bool Rsub::evaluate(Assay *assay) { +bool Rsub::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator Rsub. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#rsub diff --git a/src/operators/rsub.h b/src/operators/rsub.h index 57af5ffb..0f7dd198 100644 --- a/src/operators/rsub.h +++ b/src/operators/rsub.h @@ -28,7 +28,7 @@ class Rsub : public Operator { public: /** @ingroup ModSecurity_Operator */ 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 modsecurity diff --git a/src/operators/validate_dtd.cc b/src/operators/validate_dtd.cc index b514deb9..4d9da64b 100644 --- a/src/operators/validate_dtd.cc +++ b/src/operators/validate_dtd.cc @@ -22,7 +22,7 @@ namespace modsecurity { namespace operators { -bool ValidateDTD::evaluate(Assay *assay) { +bool ValidateDTD::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator ValidateDTD. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#validateDTD diff --git a/src/operators/validate_dtd.h b/src/operators/validate_dtd.h index 35f8d800..51abdf96 100644 --- a/src/operators/validate_dtd.h +++ b/src/operators/validate_dtd.h @@ -28,7 +28,7 @@ class ValidateDTD : public Operator { public: /** @ingroup ModSecurity_Operator */ ValidateDTD(std::string o, std::string p, bool i); - bool evaluate(Assay *assay); + bool evaluate(Assay *assay, const std::string &str) override; }; } // namespace operators diff --git a/src/operators/validate_hash.cc b/src/operators/validate_hash.cc index 349408bc..3e4b5cf1 100644 --- a/src/operators/validate_hash.cc +++ b/src/operators/validate_hash.cc @@ -22,7 +22,7 @@ namespace modsecurity { namespace operators { -bool ValidateHash::evaluate(Assay *assay) { +bool ValidateHash::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator ValidateHash. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#validateHash diff --git a/src/operators/validate_hash.h b/src/operators/validate_hash.h index 9c9248b2..a99ca55b 100644 --- a/src/operators/validate_hash.h +++ b/src/operators/validate_hash.h @@ -28,7 +28,7 @@ class ValidateHash : public Operator { public: /** @ingroup ModSecurity_Operator */ ValidateHash(std::string o, std::string p, bool i); - bool evaluate(Assay *assay); + bool evaluate(Assay *assay, const std::string &str) override; }; } // namespace operators diff --git a/src/operators/validate_schema.cc b/src/operators/validate_schema.cc index e91bf258..2ee61246 100644 --- a/src/operators/validate_schema.cc +++ b/src/operators/validate_schema.cc @@ -22,7 +22,7 @@ namespace modsecurity { namespace operators { -bool ValidateSchema::evaluate(Assay *assay) { +bool ValidateSchema::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator ValidateSchema. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#validateSchema diff --git a/src/operators/validate_schema.h b/src/operators/validate_schema.h index b275bdae..ccd7f318 100644 --- a/src/operators/validate_schema.h +++ b/src/operators/validate_schema.h @@ -28,7 +28,7 @@ class ValidateSchema : public Operator { public: /** @ingroup ModSecurity_Operator */ ValidateSchema(std::string o, std::string p, bool i); - bool evaluate(Assay *assay); + bool evaluate(Assay *assay, const std::string &str) override; }; } // namespace operators diff --git a/src/operators/verify_cpf.cc b/src/operators/verify_cpf.cc index 48892564..88092f5b 100644 --- a/src/operators/verify_cpf.cc +++ b/src/operators/verify_cpf.cc @@ -22,7 +22,7 @@ namespace modsecurity { namespace operators { -bool VerifyCPF::evaluate(Assay *assay) { +bool VerifyCPF::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator VerifyCPF. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#verifyCPF diff --git a/src/operators/verify_cpf.h b/src/operators/verify_cpf.h index bffbd05b..96d2c86d 100644 --- a/src/operators/verify_cpf.h +++ b/src/operators/verify_cpf.h @@ -28,7 +28,7 @@ class VerifyCPF : public Operator { public: /** @ingroup ModSecurity_Operator */ VerifyCPF(std::string o, std::string p, bool i); - bool evaluate(Assay *assay); + bool evaluate(Assay *assay, const std::string &str) override; }; } // namespace operators diff --git a/src/operators/verify_ssn.cc b/src/operators/verify_ssn.cc index 8c3467f4..099b0459 100644 --- a/src/operators/verify_ssn.cc +++ b/src/operators/verify_ssn.cc @@ -22,7 +22,7 @@ namespace modsecurity { namespace operators { -bool VerifySSN::evaluate(Assay *assay) { +bool VerifySSN::evaluate(Assay *assay, const std::string &str) { /** * @todo Implement the operator VerifySSN. * Reference: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#verifySSN diff --git a/src/operators/verify_ssn.h b/src/operators/verify_ssn.h index aacc1e55..16eeb4d2 100644 --- a/src/operators/verify_ssn.h +++ b/src/operators/verify_ssn.h @@ -29,7 +29,7 @@ class VerifySSN : public Operator { public: /** @ingroup ModSecurity_Operator */ VerifySSN(std::string o, std::string p, bool i); - bool evaluate(Assay *assay); + bool evaluate(Assay *assay, const std::string &str) override; }; } // namespace operators