mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-11-16 01:22:18 +03:00
Adds new method for rule merge
IMPORTANT: SecDefaultAction specified on a child configuration will overwrite the ones specified on the parent; Previously it was concatenating.
This commit is contained in:
@@ -176,21 +176,22 @@ class ReadingLogsViaRuleMessage {
|
||||
return;
|
||||
}
|
||||
|
||||
const modsecurity::RuleMessage *ruleMessage = \
|
||||
reinterpret_cast<const modsecurity::RuleMessage *>(ruleMessagev);
|
||||
modsecurity::RuleMessage ruleMessage(
|
||||
*reinterpret_cast<const modsecurity::RuleMessage *>(ruleMessagev));
|
||||
|
||||
std::cout << "Rule Id: " << std::to_string(ruleMessage->m_ruleId);
|
||||
std::cout << " phase: " << std::to_string(ruleMessage->m_phase);
|
||||
|
||||
std::cout << "Rule Id: " << std::to_string(ruleMessage.getRuleId());
|
||||
std::cout << " phase: " << std::to_string(ruleMessage.getPhase());
|
||||
std::cout << std::endl;
|
||||
if (ruleMessage->m_isDisruptive) {
|
||||
if (ruleMessage.isDisruptive()) {
|
||||
std::cout << " * Disruptive action: ";
|
||||
std::cout << modsecurity::RuleMessage::log(ruleMessage);
|
||||
std::cout << modsecurity::RuleMessage::log(&ruleMessage);
|
||||
std::cout << std::endl;
|
||||
std::cout << " ** %d is meant to be informed by the webserver.";
|
||||
std::cout << std::endl;
|
||||
} else {
|
||||
std::cout << " * Match, but no disruptive action: ";
|
||||
std::cout << modsecurity::RuleMessage::log(ruleMessage);
|
||||
std::cout << modsecurity::RuleMessage::log(&ruleMessage);
|
||||
std::cout << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,21 +69,21 @@ static void logCb(void *data, const void *ruleMessagev) {
|
||||
return;
|
||||
}
|
||||
|
||||
const modsecurity::RuleMessage *ruleMessage = \
|
||||
reinterpret_cast<const modsecurity::RuleMessage *>(ruleMessagev);
|
||||
modsecurity::RuleMessage ruleMessage(
|
||||
*reinterpret_cast<const modsecurity::RuleMessage *>(ruleMessagev));
|
||||
|
||||
std::cout << "Rule Id: " << std::to_string(ruleMessage->m_ruleId);
|
||||
std::cout << " phase: " << std::to_string(ruleMessage->m_phase);
|
||||
std::cout << "Rule Id: " << std::to_string(ruleMessage.getRuleId());
|
||||
std::cout << " phase: " << std::to_string(ruleMessage.getPhase());
|
||||
std::cout << std::endl;
|
||||
if (ruleMessage->m_isDisruptive) {
|
||||
if (ruleMessage.isDisruptive()) {
|
||||
std::cout << " * Disruptive action: ";
|
||||
std::cout << modsecurity::RuleMessage::log(ruleMessage);
|
||||
std::cout << modsecurity::RuleMessage::log(&ruleMessage);
|
||||
std::cout << std::endl;
|
||||
std::cout << " ** %d is meant to be informed by the webserver.";
|
||||
std::cout << std::endl;
|
||||
} else {
|
||||
std::cout << " * Match, but no disruptive action: ";
|
||||
std::cout << modsecurity::RuleMessage::log(ruleMessage);
|
||||
std::cout << modsecurity::RuleMessage::log(&ruleMessage);
|
||||
std::cout << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user