From 70f768d9ea00858f28c0f32b0df189199febe5ef Mon Sep 17 00:00:00 2001 From: Mark Stemm Date: Thu, 7 Jun 2018 17:16:30 -0700 Subject: [PATCH] Enable all rules (#379) * Proactively enable rules instead of only disabling Previously, rules were enabled by default. Some performance improvements in https://github.com/draios/sysdig/pull/1126 broke this, requiring that each rule is explicitly enabled or disabled for a given ruleset. So if enabled is true, explicitly enable the rule for the default ruleset. * Get rid of shadowed res variable. It was used both for the inspector loop and the falco result. --- userspace/engine/lua/rule_loader.lua | 2 ++ userspace/falco/falco.cpp | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/userspace/engine/lua/rule_loader.lua b/userspace/engine/lua/rule_loader.lua index a5ba9b1e..c27d2fd1 100644 --- a/userspace/engine/lua/rule_loader.lua +++ b/userspace/engine/lua/rule_loader.lua @@ -449,6 +449,8 @@ function load_rules(rules_content, rules_mgr, verbose, all_events, extra, replac if (v['enabled'] == false) then falco_rules.enable_rule(rules_mgr, v['rule'], 0) + else + falco_rules.enable_rule(rules_mgr, v['rule'], 1) end -- If the format string contains %container.info, replace it diff --git a/userspace/falco/falco.cpp b/userspace/falco/falco.cpp index 5223aa64..de8e1670 100644 --- a/userspace/falco/falco.cpp +++ b/userspace/falco/falco.cpp @@ -158,7 +158,7 @@ uint64_t do_inspect(falco_engine *engine, bool all_events) { uint64_t num_evts = 0; - int32_t res; + int32_t rc; sinsp_evt* ev; StatsFileWriter writer; uint64_t duration_start = 0; @@ -179,7 +179,7 @@ uint64_t do_inspect(falco_engine *engine, while(1) { - res = inspector->next(&ev); + rc = inspector->next(&ev); writer.handle(); @@ -193,21 +193,21 @@ uint64_t do_inspect(falco_engine *engine, { break; } - else if(res == SCAP_TIMEOUT) + else if(rc == SCAP_TIMEOUT) { continue; } - else if(res == SCAP_EOF) + else if(rc == SCAP_EOF) { break; } - else if(res != SCAP_SUCCESS) + else if(rc != SCAP_SUCCESS) { // // Event read error. // Notify the chisels that we're exiting, and then die with an error. // - cerr << "res = " << res << endl; + cerr << "rc = " << rc << endl; throw sinsp_exception(inspector->getlasterr().c_str()); }