mirror of
https://github.com/falcosecurity/falco.git
synced 2025-07-04 18:36:48 +00:00
fix(userspace/engine): actually make m_filter_all_event_types useful by properly using it as fallback when no filter event types is provided.
Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
This commit is contained in:
parent
6a42f4a133
commit
8e6ffc6fc9
@ -68,9 +68,6 @@ void falco_ruleset::ruleset_filters::add_filter(std::shared_ptr<filter_wrapper>
|
|||||||
{
|
{
|
||||||
std::set<uint16_t> fevttypes = wrap->filter->evttypes();
|
std::set<uint16_t> fevttypes = wrap->filter->evttypes();
|
||||||
|
|
||||||
// TODO: who fills this one for rules without evt.type specified?
|
|
||||||
// Can this be actually empty?
|
|
||||||
// Is m_filter_all_event_types useful?
|
|
||||||
if(fevttypes.empty())
|
if(fevttypes.empty())
|
||||||
{
|
{
|
||||||
// Should run for all event types
|
// Should run for all event types
|
||||||
@ -121,18 +118,16 @@ uint64_t falco_ruleset::ruleset_filters::num_filters()
|
|||||||
|
|
||||||
bool falco_ruleset::ruleset_filters::run(gen_event *evt)
|
bool falco_ruleset::ruleset_filters::run(gen_event *evt)
|
||||||
{
|
{
|
||||||
if(evt->get_type() >= m_filter_by_event_type.size())
|
if(evt->get_type() < m_filter_by_event_type.size())
|
||||||
{
|
{
|
||||||
return false;
|
for(auto &wrap : m_filter_by_event_type[evt->get_type()])
|
||||||
}
|
{
|
||||||
|
if(wrap->filter->run(evt))
|
||||||
for(auto &wrap : m_filter_by_event_type[evt->get_type()])
|
{
|
||||||
{
|
return true;
|
||||||
if(wrap->filter->run(evt))
|
}
|
||||||
{
|
}
|
||||||
return true;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Finally, try filters that are not specific to an event type.
|
// Finally, try filters that are not specific to an event type.
|
||||||
for(auto &wrap : m_filter_all_event_types)
|
for(auto &wrap : m_filter_all_event_types)
|
||||||
|
Loading…
Reference in New Issue
Block a user