mirror of
https://github.com/falcosecurity/falco.git
synced 2025-09-07 01:30:13 +00:00
update(userspace/engine): add required_engine_version to rule collector
Signed-off-by: Lorenzo Susini <susinilorenzo1@gmail.com>
This commit is contained in:
@@ -297,6 +297,7 @@ namespace rule_loader
|
|||||||
*/
|
*/
|
||||||
struct engine_version_info
|
struct engine_version_info
|
||||||
{
|
{
|
||||||
|
engine_version_info() : ctx("no-filename-given"), version(0) { };
|
||||||
engine_version_info(context &ctx);
|
engine_version_info(context &ctx);
|
||||||
~engine_version_info() = default;
|
~engine_version_info() = default;
|
||||||
engine_version_info(engine_version_info&&) = default;
|
engine_version_info(engine_version_info&&) = default;
|
||||||
|
@@ -116,6 +116,11 @@ const std::vector<rule_loader::plugin_version_info::requirement_alternatives>& r
|
|||||||
return m_required_plugin_versions;
|
return m_required_plugin_versions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const rule_loader::engine_version_info& rule_loader::collector::required_engine_version() const
|
||||||
|
{
|
||||||
|
return m_required_engine_version;
|
||||||
|
}
|
||||||
|
|
||||||
const indexed_vector<rule_loader::list_info>& rule_loader::collector::lists() const
|
const indexed_vector<rule_loader::list_info>& rule_loader::collector::lists() const
|
||||||
{
|
{
|
||||||
return m_list_infos;
|
return m_list_infos;
|
||||||
@@ -137,6 +142,10 @@ void rule_loader::collector::define(configuration& cfg, engine_version_info& inf
|
|||||||
THROW(v < info.version, "Rules require engine version "
|
THROW(v < info.version, "Rules require engine version "
|
||||||
+ std::to_string(info.version) + ", but engine version is " + std::to_string(v),
|
+ std::to_string(info.version) + ", but engine version is " + std::to_string(v),
|
||||||
info.ctx);
|
info.ctx);
|
||||||
|
if(m_required_engine_version.version < info.version)
|
||||||
|
{
|
||||||
|
m_required_engine_version = info;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void rule_loader::collector::define(configuration& cfg, plugin_version_info& info)
|
void rule_loader::collector::define(configuration& cfg, plugin_version_info& info)
|
||||||
|
@@ -46,6 +46,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual const std::vector<plugin_version_info::requirement_alternatives>& required_plugin_versions() const;
|
virtual const std::vector<plugin_version_info::requirement_alternatives>& required_plugin_versions() const;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Returns the required engine versions
|
||||||
|
*/
|
||||||
|
virtual const engine_version_info& required_engine_version() const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Returns the list of defined lists
|
\brief Returns the list of defined lists
|
||||||
*/
|
*/
|
||||||
@@ -92,6 +97,7 @@ private:
|
|||||||
indexed_vector<macro_info> m_macro_infos;
|
indexed_vector<macro_info> m_macro_infos;
|
||||||
indexed_vector<list_info> m_list_infos;
|
indexed_vector<list_info> m_list_infos;
|
||||||
std::vector<plugin_version_info::requirement_alternatives> m_required_plugin_versions;
|
std::vector<plugin_version_info::requirement_alternatives> m_required_plugin_versions;
|
||||||
|
engine_version_info m_required_engine_version;
|
||||||
};
|
};
|
||||||
|
|
||||||
}; // namespace rule_loader
|
}; // namespace rule_loader
|
||||||
|
Reference in New Issue
Block a user