update(userpace/engine): properly implement semver check for required plugin versions.

Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
This commit is contained in:
Federico Di Pierro 2022-01-28 14:28:54 +01:00 committed by poiana
parent a4199814a0
commit 75c6cfb414

View File

@ -432,7 +432,7 @@ bool falco_engine::is_plugin_compatible(const std::string &name,
const std::string &version, const std::string &version,
std::string &required_version) std::string &required_version)
{ {
sinsp_plugin::version plugin_version(version.c_str()); sinsp_plugin::version plugin_version(version);
if(!plugin_version.m_valid) if(!plugin_version.m_valid)
{ {
@ -447,13 +447,11 @@ bool falco_engine::is_plugin_compatible(const std::string &name,
for(auto &rversion : m_required_plugin_versions[name]) for(auto &rversion : m_required_plugin_versions[name])
{ {
sinsp_plugin::version req_version(rversion.c_str()); sinsp_plugin::version req_version(rversion);
if(req_version.m_version_major > plugin_version.m_version_major) if (!plugin_version.check(req_version))
{ {
required_version = rversion;
return false; return false;
} }
} }
return true; return true;