mirror of
https://github.com/falcosecurity/falco.git
synced 2025-09-15 14:28:39 +00:00
update(engine): clarify override error messages
Signed-off-by: Luca Guerra <luca@guerra.sh>
This commit is contained in:
@@ -441,10 +441,11 @@ static void read_item(
|
|||||||
std::set<std::string> override_append, override_replace;
|
std::set<std::string> override_append, override_replace;
|
||||||
std::set<std::string> overridable {"items"};
|
std::set<std::string> overridable {"items"};
|
||||||
decode_overrides(item, overridable, overridable, override_append, override_replace, ctx);
|
decode_overrides(item, overridable, overridable, override_append, override_replace, ctx);
|
||||||
|
bool has_overrides = !override_append.empty() || !override_replace.empty();
|
||||||
|
|
||||||
if(append == true && !override_replace.empty())
|
if(append == true && has_overrides)
|
||||||
{
|
{
|
||||||
THROW(true, "Cannot specify a replace override when 'append: true' is set", ctx);
|
THROW(true, "Keys 'override' and 'append: true' cannot be used together.", ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Since a list only has items, if we have chosen to append them we can append the entire object
|
// Since a list only has items, if we have chosen to append them we can append the entire object
|
||||||
@@ -482,10 +483,11 @@ static void read_item(
|
|||||||
std::set<std::string> override_append, override_replace;
|
std::set<std::string> override_append, override_replace;
|
||||||
std::set<std::string> overridable {"condition"};
|
std::set<std::string> overridable {"condition"};
|
||||||
decode_overrides(item, overridable, overridable, override_append, override_replace, ctx);
|
decode_overrides(item, overridable, overridable, override_append, override_replace, ctx);
|
||||||
|
bool has_overrides = !override_append.empty() || !override_replace.empty();
|
||||||
|
|
||||||
if(append == true && !override_replace.empty())
|
if(append == true && has_overrides)
|
||||||
{
|
{
|
||||||
THROW(true, "Cannot specify a replace override when 'append: true' is set", ctx);
|
THROW(true, "Keys 'override' and 'append: true' cannot be used together.", ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Since a macro only has a condition, if we have chosen to append to it we can append the entire object
|
// Since a macro only has a condition, if we have chosen to append to it we can append the entire object
|
||||||
@@ -523,7 +525,8 @@ static void read_item(
|
|||||||
bool has_overrides_replace = !override_replace.empty();
|
bool has_overrides_replace = !override_replace.empty();
|
||||||
bool has_overrides = has_overrides_append || has_overrides_replace;
|
bool has_overrides = has_overrides_append || has_overrides_replace;
|
||||||
|
|
||||||
THROW((has_append_flag && has_overrides), "Keys 'override' and 'append' cannot be used together.", ctx);
|
THROW((has_append_flag && has_overrides),
|
||||||
|
"Keys 'override' and 'append: true' cannot be used together. Add an append entry (e.g. 'condition: append') under override instead.", ctx);
|
||||||
|
|
||||||
if(has_overrides)
|
if(has_overrides)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user