Adds macro expansion for all operators

This commit is contained in:
Felipe Zimmerle
2015-09-16 11:25:07 -03:00
parent 320bcde89e
commit 9d60dc6df8
15 changed files with 49 additions and 19 deletions

View File

@@ -18,6 +18,7 @@
#include <string>
#include "operators/operator.h"
#include "src/macro_expansion.h"
namespace ModSecurity {
namespace operators {
@@ -25,9 +26,11 @@ namespace operators {
bool EndsWith::evaluate(Assay *assay, const std::string &input) {
bool ret = false;
if (input.length() >= param.length()) {
ret = (0 == input.compare(input.length() - param.length(),
param.length(), param));
std::string p = MacroExpansion::expand(param, assay);
if (input.length() >= p.length()) {
ret = (0 == input.compare(input.length() - p.length(),
p.length(), p));
}
if (negation) {