mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-15 23:55:03 +03:00
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:
parent
215c4d1071
commit
ac10d8863c
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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) {
|
||||||
|
@ -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:
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user