From 9c240198a0e5c8ca87f76b013ceb0035fa444323 Mon Sep 17 00:00:00 2001 From: Jason Dellaluce Date: Tue, 13 Sep 2022 12:31:25 +0000 Subject: [PATCH] refactor(userspace/engine): refactor falco_engine with new loader defs Signed-off-by: Jason Dellaluce --- userspace/engine/falco_engine.cpp | 15 +++++++++------ userspace/engine/falco_engine.h | 3 ++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/userspace/engine/falco_engine.cpp b/userspace/engine/falco_engine.cpp index 97eeef16..101ffe49 100644 --- a/userspace/engine/falco_engine.cpp +++ b/userspace/engine/falco_engine.cpp @@ -27,7 +27,8 @@ limitations under the License. #include "falco_engine.h" #include "falco_utils.h" #include "falco_engine_version.h" -#include "rule_reader.h" +#include "rule_loader_reader.h" +#include "rule_loader_compiler.h" #include "formats.h" @@ -59,7 +60,7 @@ falco_engine::falco_engine(bool seed_rng) falco_engine::~falco_engine() { m_rules.clear(); - m_rule_loader.clear(); + m_rule_collector.clear(); m_rule_stats_manager.clear(); m_sources.clear(); } @@ -185,15 +186,17 @@ std::unique_ptr falco_engine::load_rules(const std::string &rules_c cfg.replace_output_container_info = m_replace_container_info; cfg.default_ruleset_id = m_default_ruleset_id; - rule_reader reader; - if (reader.load(cfg, m_rule_loader)) + rule_loader::reader reader; + if (reader.read(cfg, m_rule_collector)) { for (auto &src : m_sources) { src.ruleset = src.ruleset_factory->new_ruleset(); } + + rule_loader::compiler compiler; m_rules.clear(); - m_rule_loader.compile(cfg, m_rules); + compiler.compile(cfg, m_rule_collector, m_rules); } if (cfg.res->successful()) @@ -515,7 +518,7 @@ bool falco_engine::check_plugin_requirements( std::string& err) const { err = ""; - for (const auto &alternatives : m_rule_loader.required_plugin_versions()) + for (const auto &alternatives : m_rule_collector.required_plugin_versions()) { if (!check_plugin_requirement_alternatives(plugins, alternatives, err)) { diff --git a/userspace/engine/falco_engine.h b/userspace/engine/falco_engine.h index b85931d8..e26bd8a1 100644 --- a/userspace/engine/falco_engine.h +++ b/userspace/engine/falco_engine.h @@ -32,6 +32,7 @@ limitations under the License. #include "gen_filter.h" #include "filter_ruleset.h" #include "rule_loader.h" +#include "rule_loader_collector.h" #include "stats_manager.h" #include "falco_common.h" #include "falco_source.h" @@ -278,7 +279,7 @@ private: // inline bool should_drop_evt() const; - rule_loader m_rule_loader; + rule_loader::collector m_rule_collector; indexed_vector m_rules; stats_manager m_rule_stats_manager;