Adds support to SecMarker and skipAfter

This commit is contained in:
Felipe Zimmerle
2015-09-04 17:36:57 -03:00
parent b048794f4e
commit 5c3a4b608d
14 changed files with 288 additions and 4 deletions

View File

@@ -172,7 +172,19 @@ int Rules::evaluate(int phase, Assay *assay) {
for (int i = 0; i < rules.size(); i++) {
Rule *rule = rules[i];
rule->evaluate(assay);
if (assay->m_marker.empty()) {
rule->evaluate(assay);
} else {
debug(9, "Skipped rule id '" + std::to_string(rule->rule_id) + "' due to a SecMarker: " + assay->m_marker);
m_secmarker_skipped++;
debug(9, "Rule: " + rule->m_marker);
if (rule->m_secmarker && rule->m_marker == assay->m_marker) {
debug(4, "Out of a SecMarker after skip " \
+ std::to_string(m_secmarker_skipped) + " rules.");
assay->m_marker.clear();
m_secmarker_skipped = 0;
}
}
}
return 1;
}