General improvements on audit logs information

Making actions: msg, logdata, tag and others to work in the same
fashion that they work on ModSecurity v2.x
This commit is contained in:
Felipe Zimmerle
2016-02-05 15:12:20 -03:00
parent 31117d7577
commit 9474373264
7 changed files with 157 additions and 14 deletions

View File

@@ -76,12 +76,64 @@ class Rule {
bool m_secmarker;
std::string m_fileName;
int m_lineNumber;
std::list<std::string> m_tags;
std::string m_log_data;
std::string m_log_message;
private:
bool m_unconditional;
int m_referenceCount;
};
class RuleMessage {
public:
RuleMessage(Rule *rule) {
m_ruleFile = rule->m_fileName;
m_ruleLine = rule->m_lineNumber;
m_ruleId = rule->rule_id;
m_ruleRev = 0;
m_message = std::string("");
m_data = std::string("");
m_severity = std::string("");
m_ver = std::string("");
m_maturity = 0;
m_accuracy = 0;
m_tags = std::string("");
m_rule = rule;
};
RuleMessage(Rule *rule, std::string message) {
m_ruleFile = rule->m_fileName;
m_ruleLine = rule->m_lineNumber;
m_ruleId = rule->rule_id;
m_ruleRev = 0;
m_message = message;
m_data = std::string("");
m_severity = std::string("");
m_ver = std::string("");
m_maturity = 0;
m_accuracy = 0;
m_tags = std::string("");
m_rule = rule;
};
std::string m_match;
std::string m_ruleFile;
int m_ruleLine;
int m_ruleId;
int m_ruleRev;
std::string m_message;
std::string m_data;
std::string m_severity;
std::string m_ver;
int m_maturity;
int m_accuracy;
std::string m_tags;
Rule *m_rule;
};
} // namespace modsecurity
#endif

View File

@@ -71,6 +71,7 @@ class ModSecurity;
class Transaction;
class Rules;
class Collections;
class RuleMessage;
namespace actions {
class Action;
}
@@ -264,14 +265,14 @@ class Transaction {
/**
* This variable holds all the messages asked to be save by the utilization
* of the actions: `log_data' and `msg'. These should be included on the
* auditlogs.
* of the actions: `log_data' and `msg'. These should be included on the
* auditlogs.
*/
std::list<std::string> m_rulesMessages;
std::list<modsecurity::RuleMessage *> m_rulesMessages;
/**
* The list m_ruleTags contains all tags that were specified by the
* action `tag'.
* action `tag'.
*/
std::list<std::string> m_ruleTags;