Adds support the variable rule

Issue #1016
This commit is contained in:
Felipe Zimmerle
2016-06-20 13:52:45 -03:00
parent 45bfb594b9
commit 56d084a7f4
12 changed files with 415 additions and 6 deletions

View File

@@ -29,13 +29,15 @@ namespace actions {
bool LogData::evaluate(Rule *rule, Transaction *transaction, RuleMessage *rm) {
std::string data = MacroExpansion::expand(m_parser_payload, transaction);
rm->m_data = data;
rm->m_data = data(transaction);
return true;
}
std::string LogData::data(Transaction *transaction) {
return MacroExpansion::expand(m_parser_payload, transaction);
}
} // namespace actions
} // namespace modsecurity

View File

@@ -34,6 +34,8 @@ class LogData : public Action {
bool evaluate(Rule *rule, Transaction *transaction,
RuleMessage *rm) override;
std::string data(Transaction *Transaction);
};

View File

@@ -53,11 +53,16 @@ bool Msg::evaluate(Rule *rule, Transaction *transaction) {
transaction->debug(9, "Saving msg: " + msg);
#endif
rule->m_log_message = msg;
rule->m_log_message = data(transaction);
return true;
}
std::string Msg::data(Transaction *transaction) {
return MacroExpansion::expand(m_parser_payload, transaction);
}
} // namespace actions
} // namespace modsecurity

View File

@@ -33,6 +33,8 @@ class Msg : public Action {
: Action(action, RunTimeOnlyIfMatchKind) { }
bool evaluate(Rule *rule, Transaction *transaction) override;
std::string data(Transaction *Transaction);
};

View File

@@ -38,7 +38,6 @@ class Severity : public Action {
RuleMessage *rm) override;
bool init(std::string *error);
private:
int m_severity;
};