From 5e5742f87d4732fafbec509eeddb26c2a8a81b3e Mon Sep 17 00:00:00 2001 From: Mark Stemm Date: Mon, 14 Jan 2019 10:00:43 -0800 Subject: [PATCH] Only have -pc/-pk apply to syscall rules (#495) Currently, -pc/-pk results in extra fields added to the output field of all rules. They should only be added for syscall rules. --- userspace/engine/lua/rule_loader.lua | 30 +++++++++++++++------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/userspace/engine/lua/rule_loader.lua b/userspace/engine/lua/rule_loader.lua index 9fb96fd0..8c81d62b 100644 --- a/userspace/engine/lua/rule_loader.lua +++ b/userspace/engine/lua/rule_loader.lua @@ -493,24 +493,26 @@ function load_rules(sinsp_lua_parser, -- If the format string contains %container.info, replace it -- with extra. Otherwise, add extra onto the end of the format -- string. - if string.find(v['output'], "%container.info", nil, true) ~= nil then + if v['source'] == "syscall" then + if string.find(v['output'], "%container.info", nil, true) ~= nil then - -- There may not be any extra, or we're not supposed - -- to replace it, in which case we use the generic - -- "%container.name (id=%container.id)" - if replace_container_info == false then - v['output'] = string.gsub(v['output'], "%%container.info", "%%container.name (id=%%container.id)") + -- There may not be any extra, or we're not supposed + -- to replace it, in which case we use the generic + -- "%container.name (id=%container.id)" + if replace_container_info == false then + v['output'] = string.gsub(v['output'], "%%container.info", "%%container.name (id=%%container.id)") + if extra ~= "" then + v['output'] = v['output'].." "..extra + end + else + safe_extra = string.gsub(extra, "%%", "%%%%") + v['output'] = string.gsub(v['output'], "%%container.info", safe_extra) + end + else + -- Just add the extra to the end if extra ~= "" then v['output'] = v['output'].." "..extra end - else - safe_extra = string.gsub(extra, "%%", "%%%%") - v['output'] = string.gsub(v['output'], "%%container.info", safe_extra) - end - else - -- Just add the extra to the end - if extra ~= "" then - v['output'] = v['output'].." "..extra end end