From 776502e02157d5c3ca7178f99d608f0d7e24fd98 Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Wed, 28 Oct 2015 13:53:07 -0300 Subject: [PATCH] Refactoring: changes ModSecurityStringVar to transaction::Variable Having the variables and collection in place before start to implement persistent storage. --- headers/modsecurity/assay.h | 54 ++++++++++---------------- src/assay.cc | 14 +++---- src/request_body_processor/multipart.h | 2 +- src/rule.cc | 4 +- src/variables/duration.cc | 8 ++-- src/variables/duration.h | 2 +- src/variables/env.cc | 10 ++--- src/variables/env.h | 2 +- src/variables/highest_severity.cc | 8 ++-- src/variables/highest_severity.h | 2 +- src/variables/modsec_build.cc | 8 ++-- src/variables/modsec_build.h | 2 +- src/variables/time.cc | 8 ++-- src/variables/time.h | 2 +- src/variables/time_day.cc | 8 ++-- src/variables/time_day.h | 2 +- src/variables/time_epoch.cc | 8 ++-- src/variables/time_epoch.h | 2 +- src/variables/time_hour.cc | 8 ++-- src/variables/time_hour.h | 2 +- src/variables/time_min.cc | 8 ++-- src/variables/time_min.h | 2 +- src/variables/time_mon.cc | 8 ++-- src/variables/time_mon.h | 2 +- src/variables/time_sec.cc | 8 ++-- src/variables/time_sec.h | 2 +- src/variables/time_wday.cc | 8 ++-- src/variables/time_wday.h | 2 +- src/variables/time_year.cc | 8 ++-- src/variables/time_year.h | 2 +- src/variables/tx.cc | 8 ++-- src/variables/tx.h | 2 +- src/variables/variable.cc | 6 +-- src/variables/variable.h | 2 +- src/variables/variations/count.cc | 10 ++--- src/variables/variations/count.h | 2 +- src/variables/variations/exclusion.cc | 6 +-- src/variables/variations/exclusion.h | 2 +- 38 files changed, 115 insertions(+), 129 deletions(-) diff --git a/headers/modsecurity/assay.h b/headers/modsecurity/assay.h index a7b7fabe..fbe22176 100644 --- a/headers/modsecurity/assay.h +++ b/headers/modsecurity/assay.h @@ -73,38 +73,22 @@ namespace operators { class Operator; } -class ModSecurityHeader { +namespace transaction { + +class Variable { public: - ModSecurityHeader(char *key, char *value) - : _key(key), - _value(value) - { } - - char *_key; - char *_value; -}; - - -class ModSecurityCollectionsVariables : - public std::unordered_map> { - public: -}; - - -class ModSecurityStringVar { - public: - ModSecurityStringVar(const std::string& key, const std::string& value) : + Variable(const std::string& key, const std::string& value) : m_key(key), m_value(value) { } std::string m_key; std::string m_value; }; -class ModSecurityStringVariables : + +class Variables : public std::unordered_multimap { public: - ModSecurityStringVariables() { + Variables() { this->reserve(1000); } @@ -136,13 +120,13 @@ class ModSecurityStringVariables : this->erase(key); } - std::list + std::list resolveVariable(const std::string& key, - std::list *l) { + std::list *l) { auto range = this->equal_range(key); for (auto it = range.first; it != range.second; ++it) { - l->push_back(new ModSecurityStringVar(key, it->second)); + l->push_back(new transaction::Variable(key, it->second)); } if (key.find(":") == std::string::npos && l->size() == 0) { @@ -160,7 +144,7 @@ class ModSecurityStringVariables : // auto range = this->equal_range(x.first); // for (auto it = range.first; it != range.second; ++it) { - l->push_back(new ModSecurityStringVar(x.first, x.second)); + l->push_back(new transaction::Variable(x.first, x.second)); // } } } @@ -168,14 +152,17 @@ class ModSecurityStringVariables : return *l; } - std::list + std::list resolveVariable(const std::string& key) { - std::list l; + std::list l; return resolveVariable(key, &l); } }; + +} // name space Transaction + /** @ingroup ModSecurity_CPP_API */ class Assay { public: @@ -247,11 +234,11 @@ class Assay { const char *getResponseBody(); int getResponseBodyLenth(); - std::list * + std::list * resolve_variable(const std::string& var); void resolve_variable(const std::string& var, - std::list *); + std::list *); std::string* resolve_variable_first(const std::string& key); std::string* resolve_variable_first(const std::string& collectionName, @@ -261,8 +248,8 @@ class Assay { bool update_variable_first(std::string var, const std::string &value); void delete_variable(std::string key); - ModSecurityStringVariables m_variables_strings; - std::unordered_map collections; + transaction::Variables m_variables_strings; + std::unordered_map collections; #ifndef NO_LOGS void debug(int, std::string); #endif @@ -317,7 +304,6 @@ class Assay { std::ostringstream m_requestBody; std::ostringstream m_responseBody; - ModSecurityCollectionsVariables m_variables_collections; void *m_logCbData; }; diff --git a/src/assay.cc b/src/assay.cc index 2881300b..c54b3789 100644 --- a/src/assay.cc +++ b/src/assay.cc @@ -126,7 +126,7 @@ Assay::Assay(ModSecurity *ms, Rules *rules, void *logCbData) this->m_responseHeadersNames = resolve_variable_first( "RESPONSE_HEADERS_NAMES"); - collections.emplace("TX", new ModSecurityStringVariables()); + collections.emplace("TX", new transaction::Variables()); #ifndef NO_LOGS this->debug(4, "Initialising transaction"); #endif @@ -664,7 +664,7 @@ int Assay::processRequestBody() { * computationally intensive. */ std::string fullRequest; - std::list l; + std::list l; resolve_variable("REQUEST_HEADERS", &l); for (auto &a : l) { fullRequest = fullRequest + \ @@ -1480,7 +1480,7 @@ void Assay::delete_variable(std::string key) { void Assay::resolve_variable(const std::string& var, - std::list *l) { + std::list *l) { m_variables_strings.resolveVariable(var, l); @@ -1490,10 +1490,10 @@ void Assay::resolve_variable(const std::string& var, } } -std::list * +std::list * Assay::resolve_variable(const std::string& var) { - std::list *l = - new std::list(); + std::list *l = + new std::list(); resolve_variable(var, l); @@ -1543,7 +1543,7 @@ void Assay::setCollection(const std::string& collectionName, const std::string& targetValue) { try { - ModSecurityStringVariables *collection; + transaction::Variables *collection; collection = collections.at(collectionName); collection->storeOrUpdateVariable(collectionName + ":" + variableName, targetValue); diff --git a/src/request_body_processor/multipart.h b/src/request_body_processor/multipart.h index 45f16030..6a0bfd07 100644 --- a/src/request_body_processor/multipart.h +++ b/src/request_body_processor/multipart.h @@ -35,7 +35,7 @@ class Multipart { bool process(std::string data); void checkForCrlfLf(const std::string &blob); - ModSecurityStringVariables variables; + transaction::Variables variables; bool crlf; bool containsDataAfter; diff --git a/src/rule.cc b/src/rule.cc index 4fa26994..9e50bd3c 100644 --- a/src/rule.cc +++ b/src/rule.cc @@ -284,7 +284,7 @@ bool Rule::evaluate(Assay *assay) { Exclusion *exl = dynamic_cast(variable); if (exl != NULL) { - std::list *z = + std::list *z = variable->evaluate(assay); for (auto &y : *z) { exclusions.push_back(y->m_key); @@ -301,7 +301,7 @@ bool Rule::evaluate(Assay *assay) { continue; } - std::list *e = + std::list *e = variable->evaluate(assay); for (auto &v : *e) { diff --git a/src/variables/duration.cc b/src/variables/duration.cc index f0cc8484..5878e09f 100644 --- a/src/variables/duration.cc +++ b/src/variables/duration.cc @@ -27,17 +27,17 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * Duration::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); std::string res; double e = cpu_seconds() - assay->start; res = std::to_string(e); - resl->push_back(new ModSecurityStringVar("DURATION", std::string(res))); + resl->push_back(new transaction::Variable("DURATION", std::string(res))); return resl; } diff --git a/src/variables/duration.h b/src/variables/duration.h index 004723d5..7de5241b 100644 --- a/src/variables/duration.h +++ b/src/variables/duration.h @@ -33,7 +33,7 @@ class Duration : public Variable { explicit Duration(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/env.cc b/src/variables/env.cc index 135f00b1..3d169ca9 100644 --- a/src/variables/env.cc +++ b/src/variables/env.cc @@ -33,10 +33,10 @@ extern char **environ; namespace ModSecurity { namespace Variables { -std::list * +std::list * Env::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); std::map envs; for (char **current = environ; *current; current++) { @@ -50,7 +50,7 @@ std::list * envs.insert(std::pair("ENV:" + key, value)); if ("env:" + key == name) { - resl->push_back(new ModSecurityStringVar(name, value)); + resl->push_back(new transaction::Variable(name, value)); return resl; } } @@ -60,7 +60,7 @@ std::list * && (x.first != name)) { continue; } - resl->push_back(new ModSecurityStringVar(x.first, x.second)); + resl->push_back(new transaction::Variable(x.first, x.second)); } return resl; diff --git a/src/variables/env.h b/src/variables/env.h index 3cc71480..2c39799a 100644 --- a/src/variables/env.h +++ b/src/variables/env.h @@ -33,7 +33,7 @@ class Env : public Variable { explicit Env(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/highest_severity.cc b/src/variables/highest_severity.cc index 73e9677e..5a91e992 100644 --- a/src/variables/highest_severity.cc +++ b/src/variables/highest_severity.cc @@ -26,12 +26,12 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * HighestSeverity::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); - resl->push_back(new ModSecurityStringVar("HIGHEST_SEVERITY", + resl->push_back(new transaction::Variable("HIGHEST_SEVERITY", std::to_string(assay->highest_severity))); return resl; diff --git a/src/variables/highest_severity.h b/src/variables/highest_severity.h index f0592c71..19786dc9 100644 --- a/src/variables/highest_severity.h +++ b/src/variables/highest_severity.h @@ -33,7 +33,7 @@ class HighestSeverity : public Variable { explicit HighestSeverity(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/modsec_build.cc b/src/variables/modsec_build.cc index 107dc465..709ecc6b 100644 --- a/src/variables/modsec_build.cc +++ b/src/variables/modsec_build.cc @@ -27,10 +27,10 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * ModsecBuild::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); std::ostringstream ss; ss << std::setw(2) << std::setfill('0') << MODSECURITY_MAJOR; @@ -38,7 +38,7 @@ std::list * ss << std::setw(2) << std::setfill('0') << MODSECURITY_PATCHLEVEL; ss << std::setw(2) << std::setfill('0') << MODSECURITY_TAG_NUM; - resl->push_back(new ModSecurityStringVar("MODSEC_BUILD", ss.str())); + resl->push_back(new transaction::Variable("MODSEC_BUILD", ss.str())); return resl; } diff --git a/src/variables/modsec_build.h b/src/variables/modsec_build.h index 5dc9f722..4436bea0 100644 --- a/src/variables/modsec_build.h +++ b/src/variables/modsec_build.h @@ -33,7 +33,7 @@ class ModsecBuild : public Variable { explicit ModsecBuild(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/time.cc b/src/variables/time.cc index 9ba020e2..4dd58952 100644 --- a/src/variables/time.cc +++ b/src/variables/time.cc @@ -33,10 +33,10 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * Time::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); char tstr[200]; struct tm timeinfo; @@ -48,7 +48,7 @@ std::list * localtime_r(&timer, &timeinfo); strftime(tstr, 200, "%H:%M:%S", &timeinfo); - resl->push_back(new ModSecurityStringVar("TIME", std::string(tstr))); + resl->push_back(new transaction::Variable("TIME", std::string(tstr))); return resl; } diff --git a/src/variables/time.h b/src/variables/time.h index 0b67d27c..6a648457 100644 --- a/src/variables/time.h +++ b/src/variables/time.h @@ -34,7 +34,7 @@ class Time : public Variable { explicit Time(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/time_day.cc b/src/variables/time_day.cc index 47979f86..7575c0ad 100644 --- a/src/variables/time_day.cc +++ b/src/variables/time_day.cc @@ -33,10 +33,10 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * TimeDay::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); char tstr[200]; struct tm timeinfo; @@ -48,7 +48,7 @@ std::list * localtime_r(&timer, &timeinfo); strftime(tstr, 200, "%d", &timeinfo); - resl->push_back(new ModSecurityStringVar("TIME_DAY", std::string(tstr))); + resl->push_back(new transaction::Variable("TIME_DAY", std::string(tstr))); return resl; } diff --git a/src/variables/time_day.h b/src/variables/time_day.h index 48061725..77904cbe 100644 --- a/src/variables/time_day.h +++ b/src/variables/time_day.h @@ -33,7 +33,7 @@ class TimeDay : public Variable { explicit TimeDay(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/time_epoch.cc b/src/variables/time_epoch.cc index 639653ab..0efbdd06 100644 --- a/src/variables/time_epoch.cc +++ b/src/variables/time_epoch.cc @@ -33,12 +33,12 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * TimeEpoch::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); - resl->push_back(new ModSecurityStringVar("TIME_EPOCH", + resl->push_back(new transaction::Variable("TIME_EPOCH", std::to_string(std::time(nullptr)))); return resl; diff --git a/src/variables/time_epoch.h b/src/variables/time_epoch.h index a60eba96..55f75a09 100644 --- a/src/variables/time_epoch.h +++ b/src/variables/time_epoch.h @@ -33,7 +33,7 @@ class TimeEpoch : public Variable { explicit TimeEpoch(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/time_hour.cc b/src/variables/time_hour.cc index 126ce7fd..d37a1898 100644 --- a/src/variables/time_hour.cc +++ b/src/variables/time_hour.cc @@ -33,10 +33,10 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * TimeHour::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); char tstr[200]; struct tm timeinfo; @@ -48,7 +48,7 @@ std::list * localtime_r(&timer, &timeinfo); strftime(tstr, 200, "%H", &timeinfo); - resl->push_back(new ModSecurityStringVar("TIME_HOUR", std::string(tstr))); + resl->push_back(new transaction::Variable("TIME_HOUR", std::string(tstr))); return resl; } diff --git a/src/variables/time_hour.h b/src/variables/time_hour.h index aceab866..20178cbd 100644 --- a/src/variables/time_hour.h +++ b/src/variables/time_hour.h @@ -33,7 +33,7 @@ class TimeHour : public Variable { explicit TimeHour(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/time_min.cc b/src/variables/time_min.cc index 6995ec45..ae2de008 100644 --- a/src/variables/time_min.cc +++ b/src/variables/time_min.cc @@ -33,10 +33,10 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * TimeMin::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); char tstr[200]; struct tm timeinfo; @@ -48,7 +48,7 @@ std::list * localtime_r(&timer, &timeinfo); strftime(tstr, 200, "%M", &timeinfo); - resl->push_back(new ModSecurityStringVar("TIME_MIN", std::string(tstr))); + resl->push_back(new transaction::Variable("TIME_MIN", std::string(tstr))); return resl; } diff --git a/src/variables/time_min.h b/src/variables/time_min.h index 4f698b2e..9b9a007e 100644 --- a/src/variables/time_min.h +++ b/src/variables/time_min.h @@ -33,7 +33,7 @@ class TimeMin : public Variable { explicit TimeMin(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/time_mon.cc b/src/variables/time_mon.cc index 040970f2..19fde7af 100644 --- a/src/variables/time_mon.cc +++ b/src/variables/time_mon.cc @@ -33,10 +33,10 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * TimeMon::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); char tstr[200]; struct tm timeinfo; @@ -50,7 +50,7 @@ std::list * int a = atoi(tstr); a--; - resl->push_back(new ModSecurityStringVar("TIME_MON", std::to_string(a))); + resl->push_back(new transaction::Variable("TIME_MON", std::to_string(a))); return resl; } diff --git a/src/variables/time_mon.h b/src/variables/time_mon.h index c21d0e37..2fe3e726 100644 --- a/src/variables/time_mon.h +++ b/src/variables/time_mon.h @@ -33,7 +33,7 @@ class TimeMon : public Variable { explicit TimeMon(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/time_sec.cc b/src/variables/time_sec.cc index 21078514..391ab91e 100644 --- a/src/variables/time_sec.cc +++ b/src/variables/time_sec.cc @@ -33,10 +33,10 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * TimeSec::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); char tstr[200]; struct tm timeinfo; @@ -48,7 +48,7 @@ std::list * localtime_r(&timer, &timeinfo); strftime(tstr, 200, "%S", &timeinfo); - resl->push_back(new ModSecurityStringVar("TIME_SEC", std::string(tstr))); + resl->push_back(new transaction::Variable("TIME_SEC", std::string(tstr))); return resl; } diff --git a/src/variables/time_sec.h b/src/variables/time_sec.h index bcfb111a..cd3fc3bc 100644 --- a/src/variables/time_sec.h +++ b/src/variables/time_sec.h @@ -33,7 +33,7 @@ class TimeSec : public Variable { explicit TimeSec(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/time_wday.cc b/src/variables/time_wday.cc index 89f96508..8b1c4721 100644 --- a/src/variables/time_wday.cc +++ b/src/variables/time_wday.cc @@ -33,10 +33,10 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * TimeWDay::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); char tstr[200]; struct tm timeinfo; @@ -50,7 +50,7 @@ std::list * int a = atoi(tstr); a--; - resl->push_back(new ModSecurityStringVar("TIME_WDAY", std::to_string(a))); + resl->push_back(new transaction::Variable("TIME_WDAY", std::to_string(a))); return resl; } diff --git a/src/variables/time_wday.h b/src/variables/time_wday.h index 9c9ca62b..8054d97c 100644 --- a/src/variables/time_wday.h +++ b/src/variables/time_wday.h @@ -33,7 +33,7 @@ class TimeWDay : public Variable { explicit TimeWDay(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/time_year.cc b/src/variables/time_year.cc index 4defe2ec..a29a039c 100644 --- a/src/variables/time_year.cc +++ b/src/variables/time_year.cc @@ -33,10 +33,10 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * TimeYear::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); char tstr[200]; struct tm timeinfo; @@ -48,7 +48,7 @@ std::list * localtime_r(&timer, &timeinfo); strftime(tstr, 200, "%Y", &timeinfo); - resl->push_back(new ModSecurityStringVar("TIME_YEAR", std::string(tstr))); + resl->push_back(new transaction::Variable("TIME_YEAR", std::string(tstr))); return resl; } diff --git a/src/variables/time_year.h b/src/variables/time_year.h index f9458d86..f9339135 100644 --- a/src/variables/time_year.h +++ b/src/variables/time_year.h @@ -33,7 +33,7 @@ class TimeYear : public Variable { explicit TimeYear(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/tx.cc b/src/variables/tx.cc index bfb2bb6f..1c512c8d 100644 --- a/src/variables/tx.cc +++ b/src/variables/tx.cc @@ -33,12 +33,12 @@ namespace ModSecurity { namespace Variables { -std::list * +std::list * Tx::evaluate(Assay *assay) { - std::list *resl = - new std::list(); + std::list *resl = + new std::list(); - resl->push_back(new ModSecurityStringVar("TX:0", "teste")); + resl->push_back(new transaction::Variable("TX:0", "teste")); return resl; } diff --git a/src/variables/tx.h b/src/variables/tx.h index f527ed4e..b0f7e380 100644 --- a/src/variables/tx.h +++ b/src/variables/tx.h @@ -34,7 +34,7 @@ class Tx : public Variable { explicit Tx(std::string _name) : Variable(_name) { } - std::list * + std::list * evaluate(Assay *assay) override; }; diff --git a/src/variables/variable.cc b/src/variables/variable.cc index 2e65d5fe..fb3e69ef 100644 --- a/src/variables/variable.cc +++ b/src/variables/variable.cc @@ -28,10 +28,10 @@ using ModSecurity::Variables::Variations::Exclusion; namespace ModSecurity { namespace Variables { -std::list * +std::list * Variable::evaluate(Assay *assay) { - std::list *l = - new std::list(); + std::list *l = + new std::list(); assay->resolve_variable(this->name, l); return l; } diff --git a/src/variables/variable.h b/src/variables/variable.h index 1548b9ab..cb020a11 100644 --- a/src/variables/variable.h +++ b/src/variables/variable.h @@ -33,7 +33,7 @@ class Variable { : name(_name) { } static std::string to_s(std::vector *variables); - virtual std::list * + virtual std::list * evaluate(Assay *assay); std::string name; }; diff --git a/src/variables/variations/count.cc b/src/variables/variations/count.cc index fdbee8e6..988e32ec 100644 --- a/src/variables/variations/count.cc +++ b/src/variables/variations/count.cc @@ -28,11 +28,11 @@ namespace ModSecurity { namespace Variables { namespace Variations { -std::list * +std::list * Count::evaluate(Assay *assay) { - std::list *reslIn; - std::list *reslOut = - new std::list(); + std::list *reslIn; + std::list *reslOut = + new std::list(); int count = 0; reslIn = var->evaluate(assay); @@ -43,7 +43,7 @@ std::list * std::string res = std::to_string(count); - reslOut->push_back(new ModSecurityStringVar(std::string(var->name), + reslOut->push_back(new transaction::Variable(std::string(var->name), std::string(res))); return reslOut; diff --git a/src/variables/variations/count.h b/src/variables/variations/count.h index 4121a996..22198c56 100644 --- a/src/variables/variations/count.h +++ b/src/variables/variations/count.h @@ -35,7 +35,7 @@ class Count : public Variable { : Variable("count(" + v->name + ")"), var(v) { } - std::list * + std::list * evaluate(Assay *assay) override; Variable *var; diff --git a/src/variables/variations/exclusion.cc b/src/variables/variations/exclusion.cc index 10d0d946..08ac18dc 100644 --- a/src/variables/variations/exclusion.cc +++ b/src/variables/variations/exclusion.cc @@ -29,10 +29,10 @@ namespace Variables { namespace Variations { -std::list * +std::list * Exclusion::evaluate(Assay *assay) { - std::list *l = - new std::list(); + std::list *l = + new std::list(); assay->resolve_variable(this->name, l); return l; } diff --git a/src/variables/variations/exclusion.h b/src/variables/variations/exclusion.h index 7b3baadd..c67e42dc 100644 --- a/src/variables/variations/exclusion.h +++ b/src/variables/variations/exclusion.h @@ -36,7 +36,7 @@ class Exclusion : public Variable { : Variable(v->name), var(v) { } - std::list * + std::list * evaluate(Assay *assay) override; Variable *var;