diff --git a/headers/modsecurity/anchored_set_variable.h b/headers/modsecurity/anchored_set_variable.h index 128aff93..45035084 100644 --- a/headers/modsecurity/anchored_set_variable.h +++ b/headers/modsecurity/anchored_set_variable.h @@ -29,7 +29,7 @@ #include #endif -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #ifndef HEADERS_MODSECURITY_ANCHORED_SET_VARIABLE_H_ #define HEADERS_MODSECURITY_ANCHORED_SET_VARIABLE_H_ @@ -66,7 +66,7 @@ struct MyHash{ class AnchoredSetVariable : public std::unordered_multimap { + VariableValue *, MyHash, MyEqual> { public: AnchoredSetVariable(Transaction *t, std::string name); ~AnchoredSetVariable(); @@ -81,13 +81,13 @@ class AnchoredSetVariable : public std::unordered_multimap *l); + void resolve(std::vector *l); void resolve(const std::string &key, - std::vector *l); + std::vector *l); void resolveRegularExpression(Utils::Regex *r, - std::vector *l); + std::vector *l); std::unique_ptr resolveFirst(const std::string &key); diff --git a/headers/modsecurity/anchored_variable.h b/headers/modsecurity/anchored_variable.h index 0b28b148..03ccef49 100644 --- a/headers/modsecurity/anchored_variable.h +++ b/headers/modsecurity/anchored_variable.h @@ -28,7 +28,7 @@ #include #endif -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #ifndef HEADERS_MODSECURITY_ANCHORED_VARIABLE_H_ #define HEADERS_MODSECURITY_ANCHORED_VARIABLE_H_ @@ -53,7 +53,7 @@ class AnchoredVariable { void append(const std::string &a, size_t offset, bool spaceSeparator, int size); - void evaluate(std::vector *l); + void evaluate(std::vector *l); std::string * evaluate(); std::unique_ptr resolveFirst(); @@ -63,7 +63,7 @@ class AnchoredVariable { std::string m_value; private: - collection::Variable *m_var; + VariableValue *m_var; }; } // namespace modsecurity diff --git a/headers/modsecurity/collection/collection.h b/headers/modsecurity/collection/collection.h index ae1cb78f..46c2f684 100644 --- a/headers/modsecurity/collection/collection.h +++ b/headers/modsecurity/collection/collection.h @@ -25,7 +25,8 @@ #endif -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" + #ifndef HEADERS_MODSECURITY_COLLECTION_COLLECTION_H_ #define HEADERS_MODSECURITY_COLLECTION_COLLECTION_H_ @@ -56,11 +57,11 @@ class Collection { const std::string& var) = 0; virtual void resolveSingleMatch(const std::string& var, - std::vector *l) = 0; + std::vector *l) = 0; virtual void resolveMultiMatches(const std::string& var, - std::vector *l) = 0; + std::vector *l) = 0; virtual void resolveRegularExpression(const std::string& var, - std::vector *l) = 0; + std::vector *l) = 0; /* store */ @@ -140,7 +141,7 @@ class Collection { /* resolveSingleMatch */ virtual void resolveSingleMatch(const std::string& var, - std::string compartment, std::vector *l) { + std::string compartment, std::vector *l) { std::string nkey = compartment + "::" + var; resolveSingleMatch(nkey, l); } @@ -148,7 +149,7 @@ class Collection { virtual void resolveSingleMatch(const std::string& var, std::string compartment, std::string compartment2, - std::vector *l) { + std::vector *l) { std::string nkey = compartment + "::" + compartment2 + "::" + var; resolveSingleMatch(nkey, l); } @@ -156,7 +157,7 @@ class Collection { /* resolveMultiMatches */ virtual void resolveMultiMatches(const std::string& var, - std::string compartment, std::vector *l) { + std::string compartment, std::vector *l) { std::string nkey = compartment + "::" + var; resolveMultiMatches(nkey, l); } @@ -164,7 +165,7 @@ class Collection { virtual void resolveMultiMatches(const std::string& var, std::string compartment, std::string compartment2, - std::vector *l) { + std::vector *l) { std::string nkey = compartment + "::" + compartment2 + "::" + var; resolveMultiMatches(nkey, l); } @@ -172,7 +173,7 @@ class Collection { /* resolveRegularExpression */ virtual void resolveRegularExpression(const std::string& var, - std::string compartment, std::vector *l) { + std::string compartment, std::vector *l) { std::string nkey = compartment + "::" + var; resolveRegularExpression(nkey, l); } @@ -180,7 +181,7 @@ class Collection { virtual void resolveRegularExpression(const std::string& var, std::string compartment, std::string compartment2, - std::vector *l) { + std::vector *l) { std::string nkey = compartment + "::" + compartment2 + "::" + var; resolveRegularExpression(nkey, l); } diff --git a/headers/modsecurity/collection/collections.h b/headers/modsecurity/collection/collections.h index f100c3e6..9961a04f 100644 --- a/headers/modsecurity/collection/collections.h +++ b/headers/modsecurity/collection/collections.h @@ -29,7 +29,7 @@ #endif #include "modsecurity/collection/collection.h" -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #ifndef HEADERS_MODSECURITY_COLLECTION_COLLECTIONS_H_ #define HEADERS_MODSECURITY_COLLECTION_COLLECTIONS_H_ diff --git a/headers/modsecurity/rule.h b/headers/modsecurity/rule.h index 9428b49f..db763bb0 100644 --- a/headers/modsecurity/rule.h +++ b/headers/modsecurity/rule.h @@ -26,7 +26,7 @@ #define HEADERS_MODSECURITY_RULE_H_ #include "modsecurity/transaction.h" -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #ifdef __cplusplus @@ -55,7 +55,7 @@ class Rule { virtual bool evaluate(Transaction *transaction, std::shared_ptr rm); bool evaluateActions(Transaction *transaction); - std::vector> + std::vector> getFinalVars(Transaction *trasn); void executeActionsAfterFullMatch(Transaction *trasn, bool containsDisruptive, std::shared_ptr ruleMessage); diff --git a/headers/modsecurity/transaction.h b/headers/modsecurity/transaction.h index 65aa165a..8702a9bf 100644 --- a/headers/modsecurity/transaction.h +++ b/headers/modsecurity/transaction.h @@ -40,11 +40,11 @@ typedef struct Transaction_t Transaction; typedef struct Rules_t Rules; #endif -#include "modsecurity/anchored_set_variable.h" -#include "modsecurity/anchored_variable.h" +#include "anchored_set_variable.h" +#include "anchored_variable.h" #include "modsecurity/intervention.h" #include "modsecurity/collection/collections.h" -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #include "modsecurity/collection/collection.h" #include "modsecurity/variable_origin.h" diff --git a/headers/modsecurity/collection/variable.h b/headers/modsecurity/variable_value.h similarity index 78% rename from headers/modsecurity/collection/variable.h rename to headers/modsecurity/variable_value.h index eda54096..02bcbc9d 100644 --- a/headers/modsecurity/collection/variable.h +++ b/headers/modsecurity/variable_value.h @@ -24,28 +24,27 @@ #include "modsecurity/variable_origin.h" -#ifndef HEADERS_MODSECURITY_COLLECTION_VARIABLE_H_ -#define HEADERS_MODSECURITY_COLLECTION_VARIABLE_H_ +#ifndef HEADERS_MODSECURITY_VARIABLE_H_ +#define HEADERS_MODSECURITY_VARIABLE_H_ #ifndef __cplusplus -typedef struct Variable_t Variable; +typedef struct Variable_t VariableValue; #endif #ifdef __cplusplus namespace modsecurity { -namespace collection { class Collection; -class Variable { +class VariableValue { public: - explicit Variable(const std::string *key) : + explicit VariableValue(const std::string *key) : m_key(""), m_value("") { m_key.assign(*key); m_keyWithCollection = std::make_shared(*key); } - Variable(const std::string *key, const std::string *value) : + VariableValue(const std::string *key, const std::string *value) : m_key(""), m_value("") { m_key.assign(*key); @@ -53,26 +52,26 @@ class Variable { m_keyWithCollection = std::make_shared(*key); } - Variable() : + VariableValue() : m_key(""), m_value("") { m_keyWithCollection = std::make_shared(m_key); } - Variable(const std::string *a, const std::string *b, const std::string *c) : + VariableValue(const std::string *a, const std::string *b, const std::string *c) : m_key(*a + ":" + *b), m_value(*c) { m_keyWithCollection = std::make_shared(*a + ":" + *b); } - Variable(std::shared_ptr fullName) : + VariableValue(std::shared_ptr fullName) : m_key(""), m_value("") { m_keyWithCollection = fullName; m_key.assign(*fullName.get()); } - Variable(std::shared_ptr fullName, const std::string *value) : + VariableValue(std::shared_ptr fullName, const std::string *value) : m_key(""), m_value("") { m_value.assign(*value); @@ -81,7 +80,7 @@ class Variable { } - explicit Variable(const Variable *o) : + explicit VariableValue(const VariableValue *o) : m_key(""), m_value("") { m_key.assign(o->m_key); @@ -104,8 +103,7 @@ class Variable { std::list> m_orign; }; -} // namespace collection } // namespace modsecurity #endif -#endif // HEADERS_MODSECURITY_COLLECTION_VARIABLE_H_ +#endif // HEADERS_MODSECURITY_VARIABLE_H_ diff --git a/src/Makefile.am b/src/Makefile.am index 0def545b..dc478a5a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -47,14 +47,15 @@ pkginclude_HEADERS = \ ../headers/modsecurity/rules_exceptions.h \ ../headers/modsecurity/rules_properties.h \ ../headers/modsecurity/transaction.h \ - ../headers/modsecurity/variable_origin.h + ../headers/modsecurity/variable_origin.h \ + ../headers/modsecurity/variable_value.h libmodsecurity_includesub_collection_HEADERS = \ ../headers/modsecurity/collection/collection.h \ - ../headers/modsecurity/collection/collections.h \ - ../headers/modsecurity/collection/variable.h + ../headers/modsecurity/collection/collections.h + libmodsecurity_includesub_actions_HEADERS = \ diff --git a/src/actions/set_var.cc b/src/actions/set_var.cc index c7e0fc7c..63d91354 100644 --- a/src/actions/set_var.cc +++ b/src/actions/set_var.cc @@ -49,7 +49,7 @@ bool SetVar::evaluate(Rule *rule, Transaction *t) { } std::string m_variableNameExpanded; - std::vector l; + std::vector l; auto *v = m_variable.get(); Variables::Tx_DynamicElement *tx = dynamic_cast (v); @@ -106,7 +106,7 @@ bool SetVar::evaluate(Rule *rule, Transaction *t) { } try { - std::vector l; + std::vector l; m_variable->evaluate(t, rule, &l); if (l.size() == 0) { value = 0; diff --git a/src/anchored_set_variable.cc b/src/anchored_set_variable.cc index b076cc29..38acd1c6 100644 --- a/src/anchored_set_variable.cc +++ b/src/anchored_set_variable.cc @@ -13,14 +13,13 @@ * */ -#include "modsecurity/anchored_set_variable.h" - #include #include #include #include #include +#include "modsecurity/anchored_set_variable.h" #include "modsecurity/modsecurity.h" #include "modsecurity/transaction.h" #include "src/utils/regex.h" @@ -42,7 +41,7 @@ AnchoredSetVariable::~AnchoredSetVariable() { void AnchoredSetVariable::unset() { for (const auto& x : *this) { - collection::Variable *var = x.second; + VariableValue *var = x.second; delete var; } clear(); @@ -53,7 +52,7 @@ void AnchoredSetVariable::set(const std::string &key, const std::string &value, size_t offset, size_t len) { std::unique_ptr origin(new VariableOrigin()); std::string *v = new std::string(value); - collection::Variable *var = new collection::Variable(std::make_shared(m_name + ":" + key), v); + VariableValue *var = new VariableValue(std::make_shared(m_name + ":" + key), v); delete v; origin->m_offset = offset; @@ -68,7 +67,7 @@ void AnchoredSetVariable::set(const std::string &key, const std::string &value, size_t offset) { std::unique_ptr origin(new VariableOrigin()); std::string *v = new std::string(value); - collection::Variable *var = new collection::Variable(std::make_shared(m_name + ":" + key), v); + VariableValue *var = new VariableValue(std::make_shared(m_name + ":" + key), v); delete v; origin->m_offset = offset; @@ -80,18 +79,18 @@ void AnchoredSetVariable::set(const std::string &key, void AnchoredSetVariable::resolve( - std::vector *l) { + std::vector *l) { for (const auto& x : *this) { - l->insert(l->begin(), new collection::Variable(x.second)); + l->insert(l->begin(), new VariableValue(x.second)); } } void AnchoredSetVariable::resolve(const std::string &key, - std::vector *l) { + std::vector *l) { auto range = this->equal_range(key); for (auto it = range.first; it != range.second; ++it) { - l->push_back(new collection::Variable(it->second)); + l->push_back(new VariableValue(it->second)); } } @@ -109,13 +108,13 @@ std::unique_ptr AnchoredSetVariable::resolveFirst( void AnchoredSetVariable::resolveRegularExpression(Utils::Regex *r, - std::vector *l) { + std::vector *l) { for (const auto& x : *this) { int ret = Utils::regex_search(x.first, *r); if (ret <= 0) { continue; } - l->insert(l->begin(), new collection::Variable(x.second)); + l->insert(l->begin(), new VariableValue(x.second)); } } diff --git a/src/anchored_variable.cc b/src/anchored_variable.cc index dd715dc7..9347752c 100644 --- a/src/anchored_variable.cc +++ b/src/anchored_variable.cc @@ -13,14 +13,13 @@ * */ -#include "modsecurity/anchored_variable.h" - #include #include #include #include #include +#include "../headers/modsecurity/anchored_variable.h" #include "modsecurity/modsecurity.h" #include "modsecurity/transaction.h" #include "src/utils/regex.h" @@ -36,7 +35,7 @@ AnchoredVariable::AnchoredVariable(Transaction *t, m_name(""), m_value("") { m_name.append(name); - m_var = new collection::Variable(&m_name); + m_var = new VariableValue(&m_name); } @@ -110,13 +109,13 @@ void AnchoredVariable::append(const std::string &a, size_t offset, } -void AnchoredVariable::evaluate(std::vector *l) { +void AnchoredVariable::evaluate(std::vector *l) { if (m_name.empty() || m_value.empty()) { return; } m_var->m_value.assign(m_value); - collection::Variable *m_var2 = new collection::Variable(m_var); + VariableValue *m_var2 = new VariableValue(m_var); l->push_back(m_var2); } diff --git a/src/collection/backend/in_memory-per_process.cc b/src/collection/backend/in_memory-per_process.cc index 5301921e..486655a1 100644 --- a/src/collection/backend/in_memory-per_process.cc +++ b/src/collection/backend/in_memory-per_process.cc @@ -26,7 +26,7 @@ #include -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #include "src/utils/regex.h" #include "src/utils/string.h" @@ -86,35 +86,35 @@ void InMemoryPerProcess::del(const std::string& key) { void InMemoryPerProcess::resolveSingleMatch(const std::string& var, - std::vector *l) { + std::vector *l) { auto range = this->equal_range(var); for (auto it = range.first; it != range.second; ++it) { - l->push_back(new Variable(&m_name, &it->first, &it->second)); + l->push_back(new VariableValue(&m_name, &it->first, &it->second)); } } void InMemoryPerProcess::resolveMultiMatches(const std::string& var, - std::vector *l) { + std::vector *l) { size_t keySize = var.size(); l->reserve(15); if (keySize == 0) { for (auto &i : *this) { - l->insert(l->begin(), new Variable(&m_name, &i.first, &i.second)); + l->insert(l->begin(), new VariableValue(&m_name, &i.first, &i.second)); } } else { auto range = this->equal_range(var); for (auto it = range.first; it != range.second; ++it) { - l->insert(l->begin(), new Variable(&m_name, &var, &it->second)); + l->insert(l->begin(), new VariableValue(&m_name, &var, &it->second)); } } } void InMemoryPerProcess::resolveRegularExpression(const std::string& var, - std::vector *l) { + std::vector *l) { //if (var.find(":") == std::string::npos) { @@ -146,7 +146,7 @@ void InMemoryPerProcess::resolveRegularExpression(const std::string& var, continue; } - l->insert(l->begin(), new Variable(&m_name, &x.first, &x.second)); + l->insert(l->begin(), new VariableValue(&m_name, &x.first, &x.second)); } } diff --git a/src/collection/backend/in_memory-per_process.h b/src/collection/backend/in_memory-per_process.h index 020111f1..0b0330c6 100644 --- a/src/collection/backend/in_memory-per_process.h +++ b/src/collection/backend/in_memory-per_process.h @@ -25,7 +25,7 @@ #endif -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #include "modsecurity/collection/collection.h" #ifndef SRC_COLLECTION_BACKEND_IN_MEMORY_PER_PROCESS_H_ @@ -86,11 +86,11 @@ class InMemoryPerProcess : std::unique_ptr resolveFirst(const std::string& var) override; void resolveSingleMatch(const std::string& var, - std::vector *l) override; + std::vector *l) override; void resolveMultiMatches(const std::string& var, - std::vector *l) override; + std::vector *l) override; void resolveRegularExpression(const std::string& var, - std::vector *l) override; + std::vector *l) override; private: pthread_mutex_t m_lock; diff --git a/src/collection/backend/lmdb.cc b/src/collection/backend/lmdb.cc index 6b8ccc42..79d40a15 100644 --- a/src/collection/backend/lmdb.cc +++ b/src/collection/backend/lmdb.cc @@ -22,7 +22,7 @@ #include #include -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #include "src/utils/regex.h" #undef LMDB_STDOUT_COUT diff --git a/src/collection/backend/lmdb.h b/src/collection/backend/lmdb.h index fb8434b9..575c61dc 100644 --- a/src/collection/backend/lmdb.h +++ b/src/collection/backend/lmdb.h @@ -34,7 +34,7 @@ #include #include -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #include "modsecurity/collection/collection.h" #ifndef SRC_COLLECTION_BACKEND_LMDB_H_ diff --git a/src/collection/collections.cc b/src/collection/collections.cc index 174f2a84..9a695b0a 100644 --- a/src/collection/collections.cc +++ b/src/collection/collections.cc @@ -24,7 +24,7 @@ #include #endif -#include "modsecurity/collection/variable.h" +#include "modsecurity/variable_value.h" #include "modsecurity/collection/collection.h" #include "src/collection/backend/in_memory-per_process.h" #include "src/utils/string.h" diff --git a/src/engine/lua.cc b/src/engine/lua.cc index f789540a..cabdbeaa 100644 --- a/src/engine/lua.cc +++ b/src/engine/lua.cc @@ -26,10 +26,10 @@ #include #include +#include "modsecurity/variable_value.h" #include "modsecurity/modsecurity.h" #include "src/utils/string.h" #include "modsecurity/transaction.h" -#include "modsecurity/collection/variable.h" #include "src/variables/variable.h" #include "src/variables/highest_severity.h" #include "src/actions/transformations/transformation.h" @@ -278,7 +278,7 @@ int Lua::getvars(lua_State *L) { const char *varname = NULL; Transaction *t = NULL; void *z = NULL; - std::vector l; + std::vector l; int idx = 1; /* Retrieve parameters. */ @@ -307,7 +307,7 @@ int Lua::getvars(lua_State *L) { idx++; } - for (const collection::Variable * i : l) { + for (const VariableValue * i : l) { delete i; } diff --git a/src/rule.cc b/src/rule.cc index 3329fb13..b569ae03 100644 --- a/src/rule.cc +++ b/src/rule.cc @@ -421,14 +421,14 @@ std::list, } -std::vector> Rule::getFinalVars( +std::vector> Rule::getFinalVars( Transaction *trans) { std::list exclusions; std::list exclusions_update_by_tag_remove; std::list exclusions_update_by_msg_remove; std::list exclusions_update_by_id_remove; std::vector variables; - std::vector> finalVars; + std::vector> finalVars; std::copy(m_variables->begin(), m_variables->end(), std::back_inserter(variables)); @@ -439,7 +439,7 @@ std::vector> Rule::getFinalVars( continue; } if (a.second->m_isExclusion) { - std::vector z; + std::vector z; a.second->evaluate(trans, this, &z); for (auto &y : z) { exclusions_update_by_tag_remove.push_back( @@ -461,7 +461,7 @@ std::vector> Rule::getFinalVars( continue; } if (a.second->m_isExclusion) { - std::vector z; + std::vector z; a.second->evaluate(trans, this, &z); for (auto &y : z) { exclusions_update_by_msg_remove.push_back( @@ -483,7 +483,7 @@ std::vector> Rule::getFinalVars( continue; } if (a.second->m_isExclusion) { - std::vector z; + std::vector z; a.second->evaluate(trans, this, &z); for (auto &y : z) { exclusions_update_by_id_remove.push_back(std::string(y->m_key)); @@ -500,7 +500,7 @@ std::vector> Rule::getFinalVars( for (int i = 0; i < variables.size(); i++) { Variable *variable = variables.at(i); if (variable->m_isExclusion) { - std::vector z; + std::vector z; variable->evaluate(trans, this, &z); for (auto &y : z) { exclusions.push_back(std::string(y->m_key)); @@ -512,7 +512,7 @@ std::vector> Rule::getFinalVars( for (int i = 0; i < variables.size(); i++) { Variable *variable = variables.at(i); - std::vector e; + std::vector e; bool ignoreVariable = false; if (variable->m_isExclusion) { @@ -520,7 +520,7 @@ std::vector> Rule::getFinalVars( } variable->evaluate(trans, this, &e); - for (const collection::Variable *v : e) { + for (const VariableValue *v : e) { std::string key = v->m_key; if (std::find_if(exclusions.begin(), exclusions.end(), @@ -648,8 +648,8 @@ std::vector> Rule::getFinalVars( continue; } - std::unique_ptr var( - new collection::Variable(v)); + std::unique_ptr var( + new VariableValue(v)); delete v; v = NULL; finalVars.push_back(std::move(var)); @@ -737,7 +737,7 @@ bool Rule::evaluate(Transaction *trans, std::vector *variables = this->m_variables; bool recursiveGlobalRet; bool containsDisruptive = false; - std::vector> finalVars; + std::vector> finalVars; std::string eparam; if (ruleMessage == NULL) { diff --git a/src/run_time_string.cc b/src/run_time_string.cc index f01fb287..5649fae3 100644 --- a/src/run_time_string.cc +++ b/src/run_time_string.cc @@ -17,8 +17,9 @@ #include #include "src/run_time_string.h" + +#include "modsecurity/variable_value.h" #include "modsecurity/transaction.h" -#include "modsecurity/collection/variable.h" #include "src/variables/rule.h" #include "src/variables/tx.h" #include "src/variables/highest_severity.h" @@ -51,7 +52,7 @@ std::string RunTimeString::evaluate(Transaction *t) { if (z->m_string.size() > 0) { s.append(z->m_string); } else if (z->m_var != NULL && t != NULL) { - std::vector l; + std::vector l; z->m_var->evaluate(t, NULL, &l); if (l.size() > 0) { s.append(l[0]->m_value); diff --git a/src/transaction.cc b/src/transaction.cc index 05ef1775..a6a967c6 100644 --- a/src/transaction.cc +++ b/src/transaction.cc @@ -784,7 +784,7 @@ int Transaction::processRequestBody() { * computationally intensive. */ std::string fullRequest; - std::vector l; + std::vector l; m_variableRequestHeaders.resolve(&l); for (auto &a : l) { std::string z(a->m_key, 16, a->m_key.length() - 16); @@ -1369,7 +1369,7 @@ std::string Transaction::toOldAuditLogFormatIndex(const std::string &filename, ss << utils::string::dash_if_empty(this->m_clientIpAddress.c_str()) << " "; /** TODO: Check variable */ Variables::RemoteUser *r = new Variables::RemoteUser("REMOTE_USER"); - std::vector l; + std::vector l; r->evaluate(this, NULL, &l); delete r; @@ -1432,7 +1432,7 @@ std::string Transaction::toOldAuditLogFormat(int parts, audit_log << std::endl; if (parts & audit_log::AuditLog::BAuditLogPart) { - std::vector l; + std::vector l; audit_log << "--" << trailer << "-" << "B--" << std::endl; audit_log << utils::string::dash_if_empty( m_variableRequestMethod.evaluate()); @@ -1472,7 +1472,7 @@ std::string Transaction::toOldAuditLogFormat(int parts, audit_log << std::endl; } if (parts & audit_log::AuditLog::FAuditLogPart) { - std::vector l; + std::vector l; audit_log << "--" << trailer << "-" << "F--" << std::endl; audit_log << "HTTP/" << m_httpVersion.c_str() << " "; @@ -1572,7 +1572,7 @@ std::string Transaction::toJSON(int parts) { /* request headers */ if (parts & audit_log::AuditLog::BAuditLogPart) { - std::vector l; + std::vector l; yajl_gen_string(g, reinterpret_cast("headers"), strlen("headers")); yajl_gen_map_open(g); @@ -1603,7 +1603,7 @@ std::string Transaction::toJSON(int parts) { /* response headers */ if (parts & audit_log::AuditLog::FAuditLogPart) { - std::vector l; + std::vector l; yajl_gen_string(g, reinterpret_cast("headers"), strlen("headers")); yajl_gen_map_open(g); diff --git a/src/variables/args.h b/src/variables/args.h index 75fe7b2e..0a26c92e 100644 --- a/src/variables/args.h +++ b/src/variables/args.h @@ -37,7 +37,7 @@ class Args_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgs.resolve(m_dictElement, l); } @@ -52,7 +52,7 @@ class Args_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgs.resolve(l); } }; @@ -67,7 +67,7 @@ class Args_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgs.resolveRegularExpression(&m_r, l); } diff --git a/src/variables/args_combined_size.h b/src/variables/args_combined_size.h index 94878aec..82a46d2a 100644 --- a/src/variables/args_combined_size.h +++ b/src/variables/args_combined_size.h @@ -36,7 +36,7 @@ class ArgsCombinedSize : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableARGScombinedSize.evaluate(l); } }; diff --git a/src/variables/args_get.h b/src/variables/args_get.h index e00858e7..374429ba 100644 --- a/src/variables/args_get.h +++ b/src/variables/args_get.h @@ -37,7 +37,7 @@ class ArgsGet_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsGet.resolve(m_dictElement, l); } @@ -52,7 +52,7 @@ class ArgsGet_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsGet.resolve(l); } }; @@ -66,7 +66,7 @@ class ArgsGet_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsGet.resolveRegularExpression(&m_r, l); } diff --git a/src/variables/args_get_names.h b/src/variables/args_get_names.h index 89b49688..7e43a74f 100644 --- a/src/variables/args_get_names.h +++ b/src/variables/args_get_names.h @@ -38,7 +38,7 @@ class ArgsGetNames_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsGetNames.resolve(m_dictElement, l); } @@ -52,7 +52,7 @@ class ArgsGetNames_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsGetNames.resolve(l); } }; @@ -65,7 +65,7 @@ class ArgsGetNames_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsGetNames.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/args_names.h b/src/variables/args_names.h index ac8fd14f..1f164015 100644 --- a/src/variables/args_names.h +++ b/src/variables/args_names.h @@ -38,7 +38,7 @@ class ArgsNames_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsNames.resolve(m_dictElement, l); } @@ -52,7 +52,7 @@ class ArgsNames_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsNames.resolve(l); } }; @@ -65,7 +65,7 @@ class ArgsNames_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsNames.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/args_post.h b/src/variables/args_post.h index 73a05608..5403264d 100644 --- a/src/variables/args_post.h +++ b/src/variables/args_post.h @@ -37,7 +37,7 @@ class ArgsPost_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsPost.resolve(m_dictElement, l); } @@ -52,7 +52,7 @@ class ArgsPost_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsPost.resolve(l); } }; @@ -66,7 +66,7 @@ class ArgsPost_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsPost.resolveRegularExpression(&m_r, l); } diff --git a/src/variables/args_post_names.h b/src/variables/args_post_names.h index b61605fd..6de81a1b 100644 --- a/src/variables/args_post_names.h +++ b/src/variables/args_post_names.h @@ -38,7 +38,7 @@ class ArgsPostNames_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsPostNames.resolve(m_dictElement, l); } @@ -52,7 +52,7 @@ class ArgsPostNames_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsPostNames.resolve(l); } }; @@ -65,7 +65,7 @@ class ArgsPostNames_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableArgsPostNames.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/auth_type.h b/src/variables/auth_type.h index 9718450d..90f87120 100644 --- a/src/variables/auth_type.h +++ b/src/variables/auth_type.h @@ -36,7 +36,7 @@ class AuthType : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableAuthType.evaluate(l); } }; diff --git a/src/variables/duration.cc b/src/variables/duration.cc index c272a6dc..0b3deb5f 100644 --- a/src/variables/duration.cc +++ b/src/variables/duration.cc @@ -29,12 +29,12 @@ namespace Variables { void Duration::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { double e = utils::cpu_seconds() - transaction->m_creationTimeStamp; transaction->m_variableDuration.assign(std::to_string(e)); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableDuration)); } diff --git a/src/variables/duration.h b/src/variables/duration.h index bb86e979..5ca8ba06 100644 --- a/src/variables/duration.h +++ b/src/variables/duration.h @@ -36,7 +36,7 @@ class Duration : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/env.cc b/src/variables/env.cc index 15cd3af1..b2851eee 100644 --- a/src/variables/env.cc +++ b/src/variables/env.cc @@ -34,7 +34,7 @@ namespace Variables { void Env::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { for (char **current = environ; *current; current++) { std::string env = std::string(*current); size_t pos = env.find_first_of("="); @@ -51,7 +51,7 @@ void Env::evaluate(Transaction *transaction, if (x.first != m_name && m_name.length() > 0) { continue; } - l->push_back(new collection::Variable(&m_collectionName, &x.first, &x.second)); + l->push_back(new VariableValue(&m_collectionName, &x.first, &x.second)); } } diff --git a/src/variables/env.h b/src/variables/env.h index 524ca7e4..c1df6e3a 100644 --- a/src/variables/env.h +++ b/src/variables/env.h @@ -35,7 +35,7 @@ class Env : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; }; diff --git a/src/variables/files.h b/src/variables/files.h index c3520059..397ca0e4 100644 --- a/src/variables/files.h +++ b/src/variables/files.h @@ -38,7 +38,7 @@ class Files_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFiles.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class Files_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFiles.resolve(l); } }; @@ -67,7 +67,7 @@ class Files_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFiles.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/files_combined_size.h b/src/variables/files_combined_size.h index c1cdcd7c..e3070f57 100644 --- a/src/variables/files_combined_size.h +++ b/src/variables/files_combined_size.h @@ -36,7 +36,7 @@ class FilesCombinedSize : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableFilesCombinedSize.evaluate(l); } }; diff --git a/src/variables/files_names.h b/src/variables/files_names.h index 7c904c04..be498e8a 100644 --- a/src/variables/files_names.h +++ b/src/variables/files_names.h @@ -38,7 +38,7 @@ class FilesNames_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesNames.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class FilesNames_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesNames.resolve(l); } }; @@ -68,7 +68,7 @@ class FilesNames_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesNames.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/files_sizes.h b/src/variables/files_sizes.h index e2659057..461da6bc 100644 --- a/src/variables/files_sizes.h +++ b/src/variables/files_sizes.h @@ -38,7 +38,7 @@ class FilesSizes_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesSizes.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class FilesSizes_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesSizes.resolve(l); } }; @@ -67,7 +67,7 @@ class FilesSizes_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesSizes.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/files_tmp_content.h b/src/variables/files_tmp_content.h index 2be2db7c..54adbab6 100644 --- a/src/variables/files_tmp_content.h +++ b/src/variables/files_tmp_content.h @@ -38,7 +38,7 @@ class FilesTmpContent_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesTmpContent.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class FilesTmpContent_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesTmpContent.resolve(l); } }; @@ -67,7 +67,7 @@ class FilesTmpContent_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesTmpContent.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/files_tmp_names.h b/src/variables/files_tmp_names.h index 25eab7e2..515bbd39 100644 --- a/src/variables/files_tmp_names.h +++ b/src/variables/files_tmp_names.h @@ -37,7 +37,7 @@ class FilesTmpNames_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesTmpNames.resolve(m_dictElement, l); } @@ -52,7 +52,7 @@ class FilesTmpNames_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesTmpNames.resolve(l); } }; @@ -66,7 +66,7 @@ class FilesTmpNames_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableFilesTmpNames.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/full_request.h b/src/variables/full_request.h index 96904750..ad64ad0a 100644 --- a/src/variables/full_request.h +++ b/src/variables/full_request.h @@ -36,7 +36,7 @@ class FullRequest : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableFullRequest.evaluate(l); } }; diff --git a/src/variables/full_request_length.h b/src/variables/full_request_length.h index b9e5e7e2..5d199b1a 100644 --- a/src/variables/full_request_length.h +++ b/src/variables/full_request_length.h @@ -36,7 +36,7 @@ class FullRequestLength : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableFullRequestLength.evaluate(l); } }; diff --git a/src/variables/geo.h b/src/variables/geo.h index 292a92b5..0ee3e94b 100644 --- a/src/variables/geo.h +++ b/src/variables/geo.h @@ -38,7 +38,7 @@ class Geo_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableGeo.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class Geo_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableGeo.resolve(l); } }; @@ -67,7 +67,7 @@ class Geo_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableGeo.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/global.h b/src/variables/global.h index f823798a..0d396df6 100644 --- a/src/variables/global.h +++ b/src/variables/global.h @@ -39,7 +39,7 @@ class Global_DictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_global_collection->resolveMultiMatches( m_dictElement, t->m_collections.m_global_collection_key, l); } @@ -55,7 +55,7 @@ class Global_NoDictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_global_collection->resolveMultiMatches(m_name, t->m_collections.m_global_collection_key, l); } @@ -71,7 +71,7 @@ class Global_DictElementRegexp : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_global_collection->resolveRegularExpression( m_dictElement, t->m_collections.m_global_collection_key, l); } @@ -89,7 +89,7 @@ class Global_DynamicElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { std::string string = m_string->evaluate(t); t->m_collections.m_global_collection->resolveMultiMatches( string, t->m_collections.m_global_collection_key, l); diff --git a/src/variables/highest_severity.cc b/src/variables/highest_severity.cc index 13c13cb2..cf4f7a90 100644 --- a/src/variables/highest_severity.cc +++ b/src/variables/highest_severity.cc @@ -28,10 +28,10 @@ namespace Variables { void HighestSeverity::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableHighestSeverityAction.assign( std::to_string(transaction->m_highestSeverityAction)); - l->push_back(new collection::Variable(m_fullName, + l->push_back(new VariableValue(m_fullName, &transaction->m_variableHighestSeverityAction)); } diff --git a/src/variables/highest_severity.h b/src/variables/highest_severity.h index 62f87e73..630eb7ea 100644 --- a/src/variables/highest_severity.h +++ b/src/variables/highest_severity.h @@ -36,7 +36,7 @@ class HighestSeverity : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/inbound_data_error.h b/src/variables/inbound_data_error.h index 90c9bb4a..71f4498e 100644 --- a/src/variables/inbound_data_error.h +++ b/src/variables/inbound_data_error.h @@ -36,7 +36,7 @@ class InboundDataError : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableInboundDataError.evaluate(l); } }; diff --git a/src/variables/ip.h b/src/variables/ip.h index 65c36b16..92cded8e 100644 --- a/src/variables/ip.h +++ b/src/variables/ip.h @@ -39,7 +39,7 @@ class Ip_DictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_ip_collection->resolveMultiMatches(m_dictElement, t->m_collections.m_ip_collection_key, l); @@ -56,7 +56,7 @@ class Ip_NoDictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_ip_collection->resolveMultiMatches(m_name, t->m_collections.m_ip_collection_key, l); } @@ -72,7 +72,7 @@ class Ip_DictElementRegexp : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_ip_collection->resolveRegularExpression(m_dictElement, t->m_collections.m_ip_collection_key, l); } @@ -90,7 +90,7 @@ class Ip_DynamicElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { std::string string = m_string->evaluate(t); t->m_collections.m_ip_collection->resolveMultiMatches("IP:" + string, t->m_collections.m_ip_collection_key, l); diff --git a/src/variables/matched_var.h b/src/variables/matched_var.h index 67e4bf7d..bd4899c7 100644 --- a/src/variables/matched_var.h +++ b/src/variables/matched_var.h @@ -36,7 +36,7 @@ class MatchedVar : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMatchedVar.evaluate(l); } }; diff --git a/src/variables/matched_var_name.h b/src/variables/matched_var_name.h index 50684874..af5b1688 100644 --- a/src/variables/matched_var_name.h +++ b/src/variables/matched_var_name.h @@ -36,7 +36,7 @@ class MatchedVarName : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMatchedVarName.evaluate(l); } }; diff --git a/src/variables/matched_vars.h b/src/variables/matched_vars.h index 94d7da3b..7f19079b 100644 --- a/src/variables/matched_vars.h +++ b/src/variables/matched_vars.h @@ -38,7 +38,7 @@ class MatchedVars_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMatchedVars.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class MatchedVars_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMatchedVars.resolve(l); } }; @@ -67,7 +67,7 @@ class MatchedVars_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMatchedVars.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/matched_vars_names.h b/src/variables/matched_vars_names.h index 5a57505b..604d6e5a 100644 --- a/src/variables/matched_vars_names.h +++ b/src/variables/matched_vars_names.h @@ -38,7 +38,7 @@ class MatchedVarsNames_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMatchedVarsNames.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class MatchedVarsNames_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMatchedVarsNames.resolve(l); } }; @@ -67,7 +67,7 @@ class MatchedVarsNames_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMatchedVarsNames.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/modsec_build.cc b/src/variables/modsec_build.cc index 4e2c2f08..ae7ac4da 100644 --- a/src/variables/modsec_build.cc +++ b/src/variables/modsec_build.cc @@ -26,9 +26,9 @@ namespace Variables { void ModsecBuild::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { - l->push_back(new collection::Variable(&m_retName, &m_build)); + l->push_back(new VariableValue(&m_retName, &m_build)); } diff --git a/src/variables/modsec_build.h b/src/variables/modsec_build.h index 4d872d5d..f5f90de4 100644 --- a/src/variables/modsec_build.h +++ b/src/variables/modsec_build.h @@ -45,7 +45,7 @@ class ModsecBuild : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_build; std::string m_retName; diff --git a/src/variables/multipart_boundary_quoted.h b/src/variables/multipart_boundary_quoted.h index aa234007..ec753045 100644 --- a/src/variables/multipart_boundary_quoted.h +++ b/src/variables/multipart_boundary_quoted.h @@ -36,7 +36,7 @@ class MultipartBoundaryQuoted : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartBoundaryQuoted.evaluate(l); } }; diff --git a/src/variables/multipart_boundary_whitespace.h b/src/variables/multipart_boundary_whitespace.h index 115cd9a9..1a94b0a1 100644 --- a/src/variables/multipart_boundary_whitespace.h +++ b/src/variables/multipart_boundary_whitespace.h @@ -36,7 +36,7 @@ class MultipartBoundaryWhiteSpace : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartBoundaryWhiteSpace.evaluate(l); } }; diff --git a/src/variables/multipart_crlf_lf_lines.h b/src/variables/multipart_crlf_lf_lines.h index 76ac90e3..8df96374 100644 --- a/src/variables/multipart_crlf_lf_lines.h +++ b/src/variables/multipart_crlf_lf_lines.h @@ -36,7 +36,7 @@ class MultipartCrlfLFLines : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartCrlfLFLines.evaluate(l); } }; diff --git a/src/variables/multipart_data_after.h b/src/variables/multipart_data_after.h index 9331116b..5509b5b9 100644 --- a/src/variables/multipart_data_after.h +++ b/src/variables/multipart_data_after.h @@ -36,7 +36,7 @@ class MultipartDateAfter : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartDataAfter.evaluate(l); } }; diff --git a/src/variables/multipart_data_before.h b/src/variables/multipart_data_before.h index 3ac7c1bb..1f72511b 100644 --- a/src/variables/multipart_data_before.h +++ b/src/variables/multipart_data_before.h @@ -36,7 +36,7 @@ class MultipartDateBefore : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartDataBefore.evaluate(l); } }; diff --git a/src/variables/multipart_file_limit_exceeded.h b/src/variables/multipart_file_limit_exceeded.h index c137e161..bba687d8 100644 --- a/src/variables/multipart_file_limit_exceeded.h +++ b/src/variables/multipart_file_limit_exceeded.h @@ -36,7 +36,7 @@ class MultipartFileLimitExceeded : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartFileLimitExceeded.evaluate(l); } }; diff --git a/src/variables/multipart_file_name.h b/src/variables/multipart_file_name.h index 8d5f72e5..b3bf41ba 100644 --- a/src/variables/multipart_file_name.h +++ b/src/variables/multipart_file_name.h @@ -38,7 +38,7 @@ class MultiPartFileName_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMultipartFileName.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class MultiPartFileName_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMultipartFileName.resolve(l); } }; @@ -67,7 +67,7 @@ class MultiPartFileName_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMultipartFileName.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/multipart_header_folding.h b/src/variables/multipart_header_folding.h index 6b155581..c21a3cd2 100644 --- a/src/variables/multipart_header_folding.h +++ b/src/variables/multipart_header_folding.h @@ -36,7 +36,7 @@ class MultipartHeaderFolding : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartHeaderFolding.evaluate(l); } }; diff --git a/src/variables/multipart_invalid_header_folding.h b/src/variables/multipart_invalid_header_folding.h index 3a9bf7bc..098f7df1 100644 --- a/src/variables/multipart_invalid_header_folding.h +++ b/src/variables/multipart_invalid_header_folding.h @@ -36,7 +36,7 @@ class MultipartInvalidHeaderFolding : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartInvalidHeaderFolding.evaluate(l); } }; diff --git a/src/variables/multipart_invalid_part.h b/src/variables/multipart_invalid_part.h index 6b302f20..fa40724a 100644 --- a/src/variables/multipart_invalid_part.h +++ b/src/variables/multipart_invalid_part.h @@ -36,7 +36,7 @@ class MultipartInvalidPart : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartInvalidPart.evaluate(l); } }; diff --git a/src/variables/multipart_invalid_quoting.h b/src/variables/multipart_invalid_quoting.h index 998914db..8ef5f471 100644 --- a/src/variables/multipart_invalid_quoting.h +++ b/src/variables/multipart_invalid_quoting.h @@ -35,7 +35,7 @@ class MultipartInvalidQuoting : public Variable { : Variable("MULTIPART_INVALID_QUOTING") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartInvalidQuoting.evaluate(l); } }; diff --git a/src/variables/multipart_lf_line.h b/src/variables/multipart_lf_line.h index 4d15e5c0..20edd679 100644 --- a/src/variables/multipart_lf_line.h +++ b/src/variables/multipart_lf_line.h @@ -36,7 +36,7 @@ class MultipartLFLine : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartLFLine.evaluate(l); } }; diff --git a/src/variables/multipart_missing_semicolon.h b/src/variables/multipart_missing_semicolon.h index 6562c7c2..dc298ac6 100644 --- a/src/variables/multipart_missing_semicolon.h +++ b/src/variables/multipart_missing_semicolon.h @@ -36,7 +36,7 @@ class MultipartMissingSemicolon : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartMissingSemicolon.evaluate(l); } }; diff --git a/src/variables/multipart_name.h b/src/variables/multipart_name.h index e3d41ab1..e1edfaac 100644 --- a/src/variables/multipart_name.h +++ b/src/variables/multipart_name.h @@ -38,7 +38,7 @@ class MultiPartName_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMultipartName.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class MultiPartName_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMultipartName.resolve(l); } }; @@ -67,7 +67,7 @@ class MultiPartName_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableMultipartName.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/multipart_strict_error.h b/src/variables/multipart_strict_error.h index 08671179..627c6855 100644 --- a/src/variables/multipart_strict_error.h +++ b/src/variables/multipart_strict_error.h @@ -36,7 +36,7 @@ class MultipartStrictError : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartStrictError.evaluate(l); } }; diff --git a/src/variables/multipart_unmatched_boundary.h b/src/variables/multipart_unmatched_boundary.h index c1dbcf33..5d0c307b 100644 --- a/src/variables/multipart_unmatched_boundary.h +++ b/src/variables/multipart_unmatched_boundary.h @@ -36,7 +36,7 @@ class MultipartUnmatchedBoundary : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableMultipartUnmatchedBoundary.evaluate(l); } }; diff --git a/src/variables/outbound_data_error.h b/src/variables/outbound_data_error.h index fc61befc..a07e9a85 100644 --- a/src/variables/outbound_data_error.h +++ b/src/variables/outbound_data_error.h @@ -36,7 +36,7 @@ class OutboundDataError : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableOutboundDataError.evaluate(l); } }; diff --git a/src/variables/path_info.h b/src/variables/path_info.h index 20b9c406..d07ba663 100644 --- a/src/variables/path_info.h +++ b/src/variables/path_info.h @@ -36,7 +36,7 @@ class PathInfo : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variablePathInfo.evaluate(l); } }; diff --git a/src/variables/query_string.h b/src/variables/query_string.h index 66c9dfa7..ff4be292 100644 --- a/src/variables/query_string.h +++ b/src/variables/query_string.h @@ -36,7 +36,7 @@ class QueryString : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableQueryString.evaluate(l); } }; diff --git a/src/variables/remote_addr.h b/src/variables/remote_addr.h index 20a67cfc..6d71d8bd 100644 --- a/src/variables/remote_addr.h +++ b/src/variables/remote_addr.h @@ -36,7 +36,7 @@ class RemoteAddr : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRemoteAddr.evaluate(l); } }; diff --git a/src/variables/remote_host.h b/src/variables/remote_host.h index 51ec32ff..316d36fa 100644 --- a/src/variables/remote_host.h +++ b/src/variables/remote_host.h @@ -36,7 +36,7 @@ class RemoteHost : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRemoteHost.evaluate(l); } }; diff --git a/src/variables/remote_port.h b/src/variables/remote_port.h index c42c94ca..9b9bf5de 100644 --- a/src/variables/remote_port.h +++ b/src/variables/remote_port.h @@ -36,7 +36,7 @@ class RemotePort : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRemotePort.evaluate(l); } }; diff --git a/src/variables/remote_user.cc b/src/variables/remote_user.cc index be1739ee..da0a8506 100644 --- a/src/variables/remote_user.cc +++ b/src/variables/remote_user.cc @@ -38,14 +38,14 @@ namespace Variables { void RemoteUser::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { size_t pos; std::string base64; - collection::Variable *var; + VariableValue *var; std::string header; - std::vector *l2 = \ - new std::vector(); + std::vector *l2 = \ + new std::vector(); transaction->m_variableRequestHeaders.resolve("authorization", l2); if (l2->size() < 1) { @@ -66,7 +66,7 @@ void RemoteUser::evaluate(Transaction *transaction, } transaction->m_variableRemoteUser.assign(std::string(base64, 0, pos)); - var = new collection::Variable(&l2->at(0)->m_key, + var = new VariableValue(&l2->at(0)->m_key, &transaction->m_variableRemoteUser); for (auto &i : l2->at(0)->m_orign) { diff --git a/src/variables/remote_user.h b/src/variables/remote_user.h index 2f63a255..7106fc48 100644 --- a/src/variables/remote_user.h +++ b/src/variables/remote_user.h @@ -38,7 +38,7 @@ class RemoteUser : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/reqbody_error.h b/src/variables/reqbody_error.h index f8644467..66241014 100644 --- a/src/variables/reqbody_error.h +++ b/src/variables/reqbody_error.h @@ -36,7 +36,7 @@ class ReqbodyError : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableReqbodyError.evaluate(l); } }; diff --git a/src/variables/reqbody_error_msg.h b/src/variables/reqbody_error_msg.h index e7c4d172..d6368571 100644 --- a/src/variables/reqbody_error_msg.h +++ b/src/variables/reqbody_error_msg.h @@ -35,7 +35,7 @@ class ReqbodyErrorMsg : public Variable { : Variable("REQBODY_ERROR_MSG") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableReqbodyErrorMsg.evaluate(l); } }; diff --git a/src/variables/reqbody_processor.h b/src/variables/reqbody_processor.h index b9c08419..05241a6d 100644 --- a/src/variables/reqbody_processor.h +++ b/src/variables/reqbody_processor.h @@ -35,7 +35,7 @@ class ReqbodyProcessor : public Variable { : Variable("REQBODY_PROCESSOR") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableReqbodyProcessor.evaluate(l); } }; diff --git a/src/variables/reqbody_processor_error.h b/src/variables/reqbody_processor_error.h index f5757969..bf256a01 100644 --- a/src/variables/reqbody_processor_error.h +++ b/src/variables/reqbody_processor_error.h @@ -36,7 +36,7 @@ class ReqbodyProcessorError : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableReqbodyProcessorError.evaluate(l); } }; diff --git a/src/variables/reqbody_processor_error_msg.h b/src/variables/reqbody_processor_error_msg.h index 3fb213ea..2c07e5d5 100644 --- a/src/variables/reqbody_processor_error_msg.h +++ b/src/variables/reqbody_processor_error_msg.h @@ -36,7 +36,7 @@ class ReqbodyProcessorErrorMsg : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableReqbodyProcessorErrorMsg.evaluate(l); } }; diff --git a/src/variables/request_base_name.h b/src/variables/request_base_name.h index f65364fd..05d31a7f 100644 --- a/src/variables/request_base_name.h +++ b/src/variables/request_base_name.h @@ -36,7 +36,7 @@ class RequestBasename : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRequestBasename.evaluate(l); } }; diff --git a/src/variables/request_body.h b/src/variables/request_body.h index 3126190d..f4a87526 100644 --- a/src/variables/request_body.h +++ b/src/variables/request_body.h @@ -35,7 +35,7 @@ class RequestBody : public Variable { : Variable("REQUEST_BODY") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRequestBody.evaluate(l); } }; diff --git a/src/variables/request_body_length.h b/src/variables/request_body_length.h index 46bc4ae6..ffb88d56 100644 --- a/src/variables/request_body_length.h +++ b/src/variables/request_body_length.h @@ -35,7 +35,7 @@ class RequestBodyLength : public Variable { : Variable("REQUEST_BODY_LENGTH") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRequestBodyLength.evaluate(l); } }; diff --git a/src/variables/request_cookies.h b/src/variables/request_cookies.h index c7054ca2..772e8259 100644 --- a/src/variables/request_cookies.h +++ b/src/variables/request_cookies.h @@ -38,7 +38,7 @@ class RequestCookies_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestCookies.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class RequestCookies_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestCookies.resolve(l); } }; @@ -67,7 +67,7 @@ class RequestCookies_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestCookies.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/request_cookies_names.h b/src/variables/request_cookies_names.h index 91ed9100..4574ad59 100644 --- a/src/variables/request_cookies_names.h +++ b/src/variables/request_cookies_names.h @@ -38,7 +38,7 @@ class RequestCookiesNames_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestCookiesNames.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class RequestCookiesNames_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestCookiesNames.resolve(l); } }; @@ -67,7 +67,7 @@ class RequestCookiesNames_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestCookiesNames.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/request_file_name.h b/src/variables/request_file_name.h index 97a761c5..c1f99341 100644 --- a/src/variables/request_file_name.h +++ b/src/variables/request_file_name.h @@ -35,7 +35,7 @@ class RequestFilename : public Variable { : Variable("REQUEST_FILENAME") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRequestFilename.evaluate(l); } }; diff --git a/src/variables/request_headers.h b/src/variables/request_headers.h index e4d0ef95..93fd5cd4 100644 --- a/src/variables/request_headers.h +++ b/src/variables/request_headers.h @@ -38,7 +38,7 @@ class RequestHeaders_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestHeaders.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class RequestHeaders_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestHeaders.resolve(l); } }; @@ -67,7 +67,7 @@ class RequestHeaders_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestHeaders.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/request_headers_names.h b/src/variables/request_headers_names.h index 2d3ae3c7..6c211ede 100644 --- a/src/variables/request_headers_names.h +++ b/src/variables/request_headers_names.h @@ -38,7 +38,7 @@ class RequestHeadersNames_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestHeadersNames.resolve(m_dictElement, l); } @@ -52,7 +52,7 @@ class RequestHeadersNames_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestHeadersNames.resolve(l); } }; @@ -65,7 +65,7 @@ class RequestHeadersNames_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRequestHeadersNames.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/request_line.h b/src/variables/request_line.h index 1f954667..a3015f07 100644 --- a/src/variables/request_line.h +++ b/src/variables/request_line.h @@ -35,7 +35,7 @@ class RequestLine : public Variable { : Variable("REQUEST_LINE") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRequestLine.evaluate(l); } }; diff --git a/src/variables/request_method.h b/src/variables/request_method.h index e3328b53..01062036 100644 --- a/src/variables/request_method.h +++ b/src/variables/request_method.h @@ -35,7 +35,7 @@ class RequestMethod : public Variable { : Variable("REQUEST_METHOD") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRequestMethod.evaluate(l); } }; diff --git a/src/variables/request_protocol.h b/src/variables/request_protocol.h index 360ca93f..9a9c0da1 100644 --- a/src/variables/request_protocol.h +++ b/src/variables/request_protocol.h @@ -35,7 +35,7 @@ class RequestProtocol : public Variable { : Variable("REQUEST_PROTOCOL") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRequestProtocol.evaluate(l); } }; diff --git a/src/variables/request_uri.h b/src/variables/request_uri.h index 48f34bd9..34d041a0 100644 --- a/src/variables/request_uri.h +++ b/src/variables/request_uri.h @@ -35,7 +35,7 @@ class RequestURI : public Variable { : Variable("REQUEST_URI") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRequestURI.evaluate(l); } }; diff --git a/src/variables/request_uri_raw.h b/src/variables/request_uri_raw.h index e1e12ec9..adb2922d 100644 --- a/src/variables/request_uri_raw.h +++ b/src/variables/request_uri_raw.h @@ -35,7 +35,7 @@ class RequestURIRaw : public Variable { : Variable("REQUEST_URI_RAW") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableRequestURIRaw.evaluate(l); } }; diff --git a/src/variables/resource.h b/src/variables/resource.h index e8dcbfdb..f0bacb10 100644 --- a/src/variables/resource.h +++ b/src/variables/resource.h @@ -39,7 +39,7 @@ class Resource_DictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_resource_collection->resolveMultiMatches(m_dictElement, t->m_collections.m_resource_collection_key, t->m_rules->m_secWebAppId.m_value, l); @@ -56,7 +56,7 @@ class Resource_NoDictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_resource_collection->resolveMultiMatches(m_name, t->m_collections.m_resource_collection_key, t->m_rules->m_secWebAppId.m_value, l); @@ -73,7 +73,7 @@ class Resource_DictElementRegexp : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_resource_collection->resolveRegularExpression( m_dictElement, t->m_collections.m_resource_collection_key, t->m_rules->m_secWebAppId.m_value, l); @@ -92,7 +92,7 @@ class Resource_DynamicElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { std::string string = m_string->evaluate(t); t->m_collections.m_resource_collection->resolveMultiMatches( string, diff --git a/src/variables/response_body.h b/src/variables/response_body.h index 2b1e569b..9efff09c 100644 --- a/src/variables/response_body.h +++ b/src/variables/response_body.h @@ -35,7 +35,7 @@ class ResponseBody : public Variable { : Variable("RESPONSE_BODY") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableResponseBody.evaluate(l); } }; diff --git a/src/variables/response_content_length.h b/src/variables/response_content_length.h index 73f4573d..2ee9ee77 100644 --- a/src/variables/response_content_length.h +++ b/src/variables/response_content_length.h @@ -35,7 +35,7 @@ class ResponseContentLength : public Variable { : Variable("RESPONSE_CONTENT_LENGTH") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableResponseContentLength.evaluate(l); } }; diff --git a/src/variables/response_content_type.h b/src/variables/response_content_type.h index ddff4b4f..904e697e 100644 --- a/src/variables/response_content_type.h +++ b/src/variables/response_content_type.h @@ -35,7 +35,7 @@ class ResponseContentType : public Variable { : Variable("RESPONSE_CONTENT_TYPE") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableResponseContentType.evaluate(l); } }; diff --git a/src/variables/response_headers.h b/src/variables/response_headers.h index cc816d0e..3b272b50 100644 --- a/src/variables/response_headers.h +++ b/src/variables/response_headers.h @@ -38,7 +38,7 @@ class ResponseHeaders_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableResponseHeaders.resolve(m_dictElement, l); } @@ -53,7 +53,7 @@ class ResponseHeaders_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableResponseHeaders.resolve(l); } }; @@ -67,7 +67,7 @@ class ResponseHeaders_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableResponseHeaders.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/response_headers_names.h b/src/variables/response_headers_names.h index 41836a7f..3f80b0b8 100644 --- a/src/variables/response_headers_names.h +++ b/src/variables/response_headers_names.h @@ -38,7 +38,7 @@ class ResponseHeadersNames_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableResponseHeadersNames.resolve(m_dictElement, l); } @@ -52,7 +52,7 @@ class ResponseHeadersNames_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableResponseHeadersNames.resolve(l); } }; @@ -65,7 +65,7 @@ class ResponseHeadersNames_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableResponseHeadersNames.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/response_protocol.h b/src/variables/response_protocol.h index 5180cdc1..f3e81141 100644 --- a/src/variables/response_protocol.h +++ b/src/variables/response_protocol.h @@ -35,7 +35,7 @@ class ResponseProtocol : public Variable { : Variable("RESPONSE_PROTOCOL") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableResponseProtocol.evaluate(l); } }; diff --git a/src/variables/response_status.h b/src/variables/response_status.h index f3d4db39..3f914275 100644 --- a/src/variables/response_status.h +++ b/src/variables/response_status.h @@ -35,7 +35,7 @@ class ResponseStatus : public Variable { : Variable("RESPONSE_STATUS") { } void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableResponseStatus.evaluate(l); } }; diff --git a/src/variables/rule.h b/src/variables/rule.h index 8e64803d..37809415 100644 --- a/src/variables/rule.h +++ b/src/variables/rule.h @@ -36,7 +36,7 @@ class Rule_DictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRule.resolve(m_dictElement, l); } @@ -51,7 +51,7 @@ class Rule_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRule.resolve(l); } }; @@ -65,7 +65,7 @@ class Rule_DictElementRegexp : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { transaction->m_variableRule.resolveRegularExpression( &m_r, l); } diff --git a/src/variables/server_addr.h b/src/variables/server_addr.h index 420d8470..5bf7386c 100644 --- a/src/variables/server_addr.h +++ b/src/variables/server_addr.h @@ -36,7 +36,7 @@ class ServerAddr : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableServerAddr.evaluate(l); } }; diff --git a/src/variables/server_name.h b/src/variables/server_name.h index 4b56a380..eaa47cb6 100644 --- a/src/variables/server_name.h +++ b/src/variables/server_name.h @@ -36,7 +36,7 @@ class ServerName : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableServerName.evaluate(l); } }; diff --git a/src/variables/server_port.h b/src/variables/server_port.h index 22a6f56b..f00f9042 100644 --- a/src/variables/server_port.h +++ b/src/variables/server_port.h @@ -36,7 +36,7 @@ class ServerPort : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableServerPort.evaluate(l); } }; diff --git a/src/variables/session.h b/src/variables/session.h index 70b62a3c..0a3f8a7a 100644 --- a/src/variables/session.h +++ b/src/variables/session.h @@ -39,7 +39,7 @@ class Session_DictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_session_collection->resolveMultiMatches( m_dictElement, t->m_collections.m_session_collection_key, t->m_rules->m_secWebAppId.m_value, l); @@ -56,7 +56,7 @@ class Session_NoDictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_session_collection->resolveMultiMatches(m_name, t->m_collections.m_session_collection_key, t->m_rules->m_secWebAppId.m_value, l); @@ -73,7 +73,7 @@ class Session_DictElementRegexp : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_session_collection->resolveRegularExpression(m_dictElement, t->m_collections.m_session_collection_key, t->m_rules->m_secWebAppId.m_value, l); @@ -92,7 +92,7 @@ class Session_DynamicElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { std::string string = m_string->evaluate(t); t->m_collections.m_session_collection->resolveMultiMatches( string, diff --git a/src/variables/session_id.h b/src/variables/session_id.h index 6bbd8993..30202df0 100644 --- a/src/variables/session_id.h +++ b/src/variables/session_id.h @@ -36,7 +36,7 @@ class SessionID : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableSessionID.evaluate(l); } }; diff --git a/src/variables/status.h b/src/variables/status.h index 466d6a93..a556943b 100644 --- a/src/variables/status.h +++ b/src/variables/status.h @@ -36,7 +36,7 @@ class Status : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableResponseStatus.evaluate(l); } }; diff --git a/src/variables/time.cc b/src/variables/time.cc index 9f193032..5aeed2c4 100644 --- a/src/variables/time.cc +++ b/src/variables/time.cc @@ -35,7 +35,7 @@ namespace Variables { void Time::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { char tstr[200]; struct tm timeinfo; @@ -48,7 +48,7 @@ void Time::evaluate(Transaction *transaction, strftime(tstr, 200, "%H:%M:%S", &timeinfo); transaction->m_variableTime.assign(tstr); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableTime)); } diff --git a/src/variables/time.h b/src/variables/time.h index 7747a84e..3a7cbe0c 100644 --- a/src/variables/time.h +++ b/src/variables/time.h @@ -37,7 +37,7 @@ class Time : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/time_day.cc b/src/variables/time_day.cc index c67938f8..f019903f 100644 --- a/src/variables/time_day.cc +++ b/src/variables/time_day.cc @@ -35,7 +35,7 @@ namespace Variables { void TimeDay::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { char tstr[200]; struct tm timeinfo; time_t timer; @@ -48,7 +48,7 @@ void TimeDay::evaluate(Transaction *transaction, transaction->m_variableTimeDay.assign(tstr); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableTimeDay)); } diff --git a/src/variables/time_day.h b/src/variables/time_day.h index 492c61c0..c00e2721 100644 --- a/src/variables/time_day.h +++ b/src/variables/time_day.h @@ -36,7 +36,7 @@ class TimeDay : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/time_epoch.cc b/src/variables/time_epoch.cc index 70e5fd20..49f3e52d 100644 --- a/src/variables/time_epoch.cc +++ b/src/variables/time_epoch.cc @@ -35,10 +35,10 @@ namespace Variables { void TimeEpoch::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableTimeEpoch.assign( std::to_string(std::time(nullptr))); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableTimeEpoch)); } diff --git a/src/variables/time_epoch.h b/src/variables/time_epoch.h index c595629f..e30808f4 100644 --- a/src/variables/time_epoch.h +++ b/src/variables/time_epoch.h @@ -36,7 +36,7 @@ class TimeEpoch : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/time_hour.cc b/src/variables/time_hour.cc index 9666f9fc..9674d1ce 100644 --- a/src/variables/time_hour.cc +++ b/src/variables/time_hour.cc @@ -35,7 +35,7 @@ namespace Variables { void TimeHour::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { char tstr[200]; struct tm timeinfo; time_t timer; @@ -48,7 +48,7 @@ void TimeHour::evaluate(Transaction *transaction, transaction->m_variableTimeHour.assign(tstr); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableTimeHour)); } diff --git a/src/variables/time_hour.h b/src/variables/time_hour.h index 89341666..97bbdeba 100644 --- a/src/variables/time_hour.h +++ b/src/variables/time_hour.h @@ -36,7 +36,7 @@ class TimeHour : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/time_min.cc b/src/variables/time_min.cc index 33395402..a6dbb7ac 100644 --- a/src/variables/time_min.cc +++ b/src/variables/time_min.cc @@ -35,7 +35,7 @@ namespace Variables { void TimeMin::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { char tstr[200]; struct tm timeinfo; time_t timer; @@ -48,7 +48,7 @@ void TimeMin::evaluate(Transaction *transaction, transaction->m_variableTimeMin.assign(tstr); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableTimeMin)); } diff --git a/src/variables/time_min.h b/src/variables/time_min.h index 1c250fd1..8d1d21cc 100644 --- a/src/variables/time_min.h +++ b/src/variables/time_min.h @@ -36,7 +36,7 @@ class TimeMin : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/time_mon.cc b/src/variables/time_mon.cc index 5c2d5b87..689cfe26 100644 --- a/src/variables/time_mon.cc +++ b/src/variables/time_mon.cc @@ -35,7 +35,7 @@ namespace Variables { void TimeMon::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { char tstr[200]; struct tm timeinfo; time_t timer; @@ -50,7 +50,7 @@ void TimeMon::evaluate(Transaction *transaction, transaction->m_variableTimeMin.assign(std::to_string(a)); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableTimeMin)); } diff --git a/src/variables/time_mon.h b/src/variables/time_mon.h index bb74fde2..22284452 100644 --- a/src/variables/time_mon.h +++ b/src/variables/time_mon.h @@ -36,7 +36,7 @@ class TimeMon : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/time_sec.cc b/src/variables/time_sec.cc index 71484b99..c8e3b4b0 100644 --- a/src/variables/time_sec.cc +++ b/src/variables/time_sec.cc @@ -35,7 +35,7 @@ namespace Variables { void TimeSec::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { char tstr[200]; struct tm timeinfo; time_t timer; @@ -48,7 +48,7 @@ void TimeSec::evaluate(Transaction *transaction, transaction->m_variableTimeSec.assign(tstr); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableTimeSec)); } diff --git a/src/variables/time_sec.h b/src/variables/time_sec.h index 161d6936..944987b9 100644 --- a/src/variables/time_sec.h +++ b/src/variables/time_sec.h @@ -36,7 +36,7 @@ class TimeSec : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/time_wday.cc b/src/variables/time_wday.cc index 8f723cb4..ef8db612 100644 --- a/src/variables/time_wday.cc +++ b/src/variables/time_wday.cc @@ -35,7 +35,7 @@ namespace Variables { void TimeWDay::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { char tstr[200]; struct tm timeinfo; time_t timer; @@ -48,7 +48,7 @@ void TimeWDay::evaluate(Transaction *transaction, transaction->m_variableTimeWDay.assign(tstr); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableTimeWDay)); } diff --git a/src/variables/time_wday.h b/src/variables/time_wday.h index 6599c248..ff84e12e 100644 --- a/src/variables/time_wday.h +++ b/src/variables/time_wday.h @@ -36,7 +36,7 @@ class TimeWDay : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/time_year.cc b/src/variables/time_year.cc index f38e27e7..29493c2d 100644 --- a/src/variables/time_year.cc +++ b/src/variables/time_year.cc @@ -35,7 +35,7 @@ namespace Variables { void TimeYear::evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { char tstr[200]; struct tm timeinfo; time_t timer; @@ -48,7 +48,7 @@ void TimeYear::evaluate(Transaction *transaction, transaction->m_variableTimeYear.assign(tstr); - l->push_back(new collection::Variable(&m_retName, + l->push_back(new VariableValue(&m_retName, &transaction->m_variableTimeYear)); } diff --git a/src/variables/time_year.h b/src/variables/time_year.h index d833c5b2..1d5b2c3d 100644 --- a/src/variables/time_year.h +++ b/src/variables/time_year.h @@ -36,7 +36,7 @@ class TimeYear : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; std::string m_retName; }; diff --git a/src/variables/tx.h b/src/variables/tx.h index a983b10b..73de5eaa 100644 --- a/src/variables/tx.h +++ b/src/variables/tx.h @@ -39,7 +39,7 @@ class Tx_DictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_tx_collection->resolveMultiMatches( m_dictElement, l); } @@ -55,7 +55,7 @@ class Tx_NoDictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_tx_collection->resolveMultiMatches("", l); } }; @@ -70,7 +70,7 @@ class Tx_DictElementRegexp : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_tx_collection->resolveRegularExpression( m_dictElement, l); } @@ -88,7 +88,7 @@ class Tx_DynamicElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { std::string string = m_string->evaluate(t); t->m_collections.m_tx_collection->resolveMultiMatches(string, l); } diff --git a/src/variables/unique_id.h b/src/variables/unique_id.h index ffbf5bc9..2530ce92 100644 --- a/src/variables/unique_id.h +++ b/src/variables/unique_id.h @@ -36,7 +36,7 @@ class UniqueID : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableUniqueID.evaluate(l); } }; diff --git a/src/variables/url_encoded_error.h b/src/variables/url_encoded_error.h index b5ffdcde..a12b92f7 100644 --- a/src/variables/url_encoded_error.h +++ b/src/variables/url_encoded_error.h @@ -36,7 +36,7 @@ class UrlEncodedError : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableUrlEncodedError.evaluate(l); } }; diff --git a/src/variables/user.h b/src/variables/user.h index 30c0d86e..abd4e5c6 100644 --- a/src/variables/user.h +++ b/src/variables/user.h @@ -39,7 +39,7 @@ class User_DictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_user_collection->resolveMultiMatches( m_dictElement, t->m_collections.m_user_collection_key, t->m_rules->m_secWebAppId.m_value, l); @@ -56,7 +56,7 @@ class User_NoDictElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_user_collection->resolveMultiMatches(m_name, t->m_collections.m_user_collection_key, t->m_rules->m_secWebAppId.m_value, l); @@ -73,7 +73,7 @@ class User_DictElementRegexp : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { t->m_collections.m_user_collection->resolveRegularExpression( m_dictElement, t->m_collections.m_user_collection_key, t->m_rules->m_secWebAppId.m_value, l); @@ -92,7 +92,7 @@ class User_DynamicElement : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) override { + std::vector *l) override { std::string string = m_string->evaluate(t); t->m_collections.m_user_collection->resolveMultiMatches( string, t->m_collections.m_user_collection_key, l); diff --git a/src/variables/user_id.h b/src/variables/user_id.h index b14c6732..9393637e 100644 --- a/src/variables/user_id.h +++ b/src/variables/user_id.h @@ -36,7 +36,7 @@ class UserID : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) { + std::vector *l) { transaction->m_variableUserID.evaluate(l); } }; diff --git a/src/variables/variable.cc b/src/variables/variable.cc index 62274f83..283cdb80 100644 --- a/src/variables/variable.cc +++ b/src/variables/variable.cc @@ -49,27 +49,6 @@ Variable::Variable(std::string name) } -Variable::Variable(std::string name, VariableKind kind) - : m_name(name), - m_collectionName(""), - m_kind(kind), - m_isExclusion(false), - m_isCount(false) { - size_t a = m_name.find(":"); - if (a == std::string::npos) { - a = m_name.find("."); - } - if (a != std::string::npos) { - m_collectionName = utils::string::toupper(std::string(m_name, 0, a)); - m_name = std::string(m_name, a + 1, m_name.size()); - m_fullName = std::make_shared(m_collectionName + ":" + m_name); - } else { - m_fullName = std::make_shared(m_name); - } - -} - - std::string Variable::to_s( std::vector *variables) { std::string ret; diff --git a/src/variables/variable.h b/src/variables/variable.h index 1fbe2cfe..66262545 100644 --- a/src/variables/variable.h +++ b/src/variables/variable.h @@ -37,45 +37,12 @@ namespace Variables { class Variable { public: - /** - * - */ - enum VariableType { - /** - * - */ - SingleMatch, - /** - * - */ - MultipleMatches, - /** - * - */ - RegularExpression - }; - - /** - * - */ - enum VariableKind { - /** - * - */ - DirectVariable, - /** - * - */ - CollectionVarible, - }; - explicit Variable(std::string _name); - Variable(std::string name, VariableKind kind); virtual ~Variable() { } virtual void evaluate(Transaction *t, Rule *rule, - std::vector *l) = 0; + std::vector *l) = 0; static std::string to_s(std::vector *variables); @@ -89,7 +56,7 @@ class Variable { static void stringMatchResolveMulti(Transaction *t, const std::string &variable, - std::vector *l) { + std::vector *l) { size_t collection = variable.find("."); if (collection == std::string::npos) { collection = variable.find(":"); @@ -459,8 +426,6 @@ class Variable { std::string m_collectionName; std::shared_ptr m_fullName; - VariableType m_type; - VariableKind m_kind; bool m_isExclusion; bool m_isCount; }; @@ -476,7 +441,7 @@ class VariableModificatorExclusion : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) { + std::vector *l) { m_var->evaluate(t, rule, l); } @@ -494,13 +459,13 @@ class VariableModificatorCount : public Variable { void evaluate(Transaction *t, Rule *rule, - std::vector *l) { - std::vector reslIn; - collection::Variable *val = NULL; + std::vector *l) { + std::vector reslIn; + VariableValue *val = NULL; int count = 0; m_var->evaluate(t, rule, &reslIn); - for (const collection::Variable *a : reslIn) { + for (const VariableValue *a : reslIn) { count++; delete a; a = NULL; @@ -508,7 +473,7 @@ class VariableModificatorCount : public Variable { reslIn.clear(); std::string *res = new std::string(std::to_string(count)); - val = new collection::Variable(m_var->m_fullName, res); + val = new VariableValue(m_var->m_fullName, res); delete res; l->push_back(val); diff --git a/src/variables/web_app_id.h b/src/variables/web_app_id.h index 231fbad9..41e91c95 100644 --- a/src/variables/web_app_id.h +++ b/src/variables/web_app_id.h @@ -37,10 +37,10 @@ class WebAppId : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { + std::vector *l) override { const std::string name("WEBAPPID"); const std::string rname = transaction->m_rules->m_secWebAppId.m_value; - l->push_back(new collection::Variable(&m_name, &rname)); + l->push_back(new VariableValue(&m_name, &rname)); } }; diff --git a/src/variables/xml.cc b/src/variables/xml.cc index aa42b402..985a3bcc 100644 --- a/src/variables/xml.cc +++ b/src/variables/xml.cc @@ -46,7 +46,7 @@ namespace Variables { void XML::evaluate(Transaction *t, Rule *rule, - std::vector *l) { + std::vector *l) { xmlXPathContextPtr xpathCtx; xmlXPathObjectPtr xpathObj; xmlNodeSetPtr nodes; @@ -127,7 +127,7 @@ void XML::evaluate(Transaction *t, xmlNodeGetContent(nodes->nodeTab[i])); if (content != NULL) { std::string *a = new std::string(content); - collection::Variable *var = new collection::Variable(m_fullName, + VariableValue *var = new VariableValue(m_fullName, a); delete a; l->push_back(var); diff --git a/src/variables/xml.h b/src/variables/xml.h index bedab587..d852bdd2 100644 --- a/src/variables/xml.h +++ b/src/variables/xml.h @@ -44,12 +44,12 @@ class XML_NoDictElement : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override { - l->push_back(new collection::Variable(&m_var)); + std::vector *l) override { + l->push_back(new VariableValue(&m_var)); } std::string m_plain; - collection::Variable m_var; + VariableValue m_var; }; @@ -60,7 +60,7 @@ class XML : public Variable { void evaluate(Transaction *transaction, Rule *rule, - std::vector *l) override; + std::vector *l) override; };