diff --git a/userspace/engine/lua/rule_loader.lua b/userspace/engine/lua/rule_loader.lua index 0f4d828e..7a2fe997 100644 --- a/userspace/engine/lua/rule_loader.lua +++ b/userspace/engine/lua/rule_loader.lua @@ -222,7 +222,24 @@ function load_rules(rules_content, rules_mgr, verbose, all_events, extra, replac end end - state.lists_by_name[v['list']] = v + -- Possibly append to an existing list + append = false + + if v['append'] then + append = v['append'] + end + + if append then + if state.lists_by_name[v['list']] == nil then + error ("List " ..v['list'].. " has 'append' key but no list by that name already exists") + end + + for i, elem in ipairs(v['items']) do + table.insert(state.lists_by_name[v['list']]['items'], elem) + end + else + state.lists_by_name[v['list']] = v + end elseif (v['rule']) then