chore(userspace/engine): clean up unused code

Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
This commit is contained in:
Leonardo Grasso 2020-09-22 18:18:16 +02:00 committed by poiana
parent 78fa43708b
commit 0ff220de1e
2 changed files with 60 additions and 143 deletions

View File

@ -20,7 +20,6 @@ limitations under the License.
#include "falco_engine.h" #include "falco_engine.h"
#include "banned.h" // This raises a compilation error when certain functions are used #include "banned.h" // This raises a compilation error when certain functions are used
sinsp *falco_formats::s_inspector = NULL; sinsp *falco_formats::s_inspector = NULL;
falco_engine *falco_formats::s_engine = NULL; falco_engine *falco_formats::s_engine = NULL;
bool falco_formats::s_json_output = false; bool falco_formats::s_json_output = false;
@ -29,13 +28,9 @@ sinsp_evt_formatter_cache *falco_formats::s_formatters = NULL;
const static struct luaL_reg ll_falco[] = const static struct luaL_reg ll_falco[] =
{ {
{"formatter", &falco_formats::formatter}, {"formatter", &falco_formats::lua_formatter},
{"free_formatter", &falco_formats::free_formatter}, {"free_formatter", &falco_formats::lua_free_formatter},
{"free_formatters", &falco_formats::free_formatters_lua}, {NULL, NULL}};
{"format_event", &falco_formats::format_event_lua},
{"resolve_tokens", &falco_formats::resolve_tokens_lua},
{NULL,NULL}
};
void falco_formats::init(sinsp *inspector, void falco_formats::init(sinsp *inspector,
falco_engine *engine, falco_engine *engine,
@ -55,7 +50,7 @@ void falco_formats::init(sinsp* inspector,
luaL_openlib(ls, "formats", ll_falco, 0); luaL_openlib(ls, "formats", ll_falco, 0);
} }
int falco_formats::formatter(lua_State *ls) int falco_formats::lua_formatter(lua_State *ls)
{ {
string source = luaL_checkstring(ls, -2); string source = luaL_checkstring(ls, -2);
string format = luaL_checkstring(ls, -1); string format = luaL_checkstring(ls, -1);
@ -87,7 +82,7 @@ int falco_formats::formatter(lua_State *ls)
return 1; return 1;
} }
int falco_formats::free_formatter(lua_State *ls) int falco_formats::lua_free_formatter(lua_State *ls)
{ {
if(!lua_islightuserdata(ls, -1) || if(!lua_islightuserdata(ls, -1) ||
!lua_isstring(ls, -2)) !lua_isstring(ls, -2))
@ -121,12 +116,6 @@ void falco_formats::free_formatters()
} }
} }
int falco_formats::free_formatters_lua(lua_State *ls)
{
free_formatters();
return 0;
}
string falco_formats::format_event(const gen_event *evt, const std::string &rule, const std::string &source, string falco_formats::format_event(const gen_event *evt, const std::string &rule, const std::string &source,
const std::string &level, const std::string &format) const std::string &level, const std::string &format)
{ {
@ -192,7 +181,8 @@ string falco_formats::format_event(const gen_event* evt, const std::string &rule
// message as well as the event time in ns. Use this to build // message as well as the event time in ns. Use this to build
// a more detailed object containing the event time, rule, // a more detailed object containing the event time, rule,
// severity, full output, and fields. // severity, full output, and fields.
if (s_json_output) { if(s_json_output)
{
Json::Value event; Json::Value event;
Json::FastWriter writer; Json::FastWriter writer;
string full_line; string full_line;
@ -239,41 +229,6 @@ string falco_formats::format_event(const gen_event* evt, const std::string &rule
return line.c_str(); return line.c_str();
} }
int falco_formats::format_event_lua(lua_State *ls)
{
string line;
string json_line;
if (!lua_isstring(ls, -1) ||
!lua_isstring(ls, -2) ||
!lua_isstring(ls, -3) ||
!lua_isstring(ls, -4) ||
!lua_islightuserdata(ls, -5)) {
lua_pushstring(ls, "Invalid arguments passed to format_event()");
lua_error(ls);
}
gen_event* evt = (gen_event*)lua_topointer(ls, 1);
const char *rule = (char *) lua_tostring(ls, 2);
const char *source = (char *) lua_tostring(ls, 3);
const char *level = (char *) lua_tostring(ls, 4);
const char *format = (char *) lua_tostring(ls, 5);
string sformat = format;
try {
line = format_event(evt, rule, source, level, format);
}
catch (sinsp_exception& e)
{
string err = "Invalid output format '" + sformat + "': '" + string(e.what()) + "'";
lua_pushstring(ls, err.c_str());
lua_error(ls);
}
lua_pushstring(ls, line.c_str());
return 1;
}
map<string, string> falco_formats::resolve_tokens(const gen_event *evt, const std::string &source, const std::string &format) map<string, string> falco_formats::resolve_tokens(const gen_event *evt, const std::string &source, const std::string &format)
{ {
string sformat = format; string sformat = format;
@ -290,33 +245,3 @@ map<string, string> falco_formats::resolve_tokens(const gen_event* evt, const st
} }
return values; return values;
} }
int falco_formats::resolve_tokens_lua(lua_State *ls)
{
if(!lua_isstring(ls, -1) ||
!lua_isstring(ls, -2) ||
!lua_islightuserdata(ls, -3))
{
lua_pushstring(ls, "Invalid arguments passed to resolve_tokens()");
lua_error(ls);
}
gen_event *evt = (gen_event *)lua_topointer(ls, 1);
string source = luaL_checkstring(ls, 2);
const char *format = (char *)lua_tostring(ls, 3);
string sformat = format;
map<string, string> values;
values = resolve_tokens(evt, source, sformat);
lua_newtable(ls);
for(auto const& v : values)
{
lua_pushstring(ls, v.first.c_str());
lua_pushstring(ls, v.second.c_str());
lua_settable(ls, -3);
}
return 1;
}

View File

@ -18,7 +18,8 @@ limitations under the License.
#include "sinsp.h" #include "sinsp.h"
extern "C" { extern "C"
{
#include "lua.h" #include "lua.h"
#include "lualib.h" #include "lualib.h"
#include "lauxlib.h" #include "lauxlib.h"
@ -39,28 +40,19 @@ class falco_formats
bool json_include_output_property); bool json_include_output_property);
// formatter = falco.formatter(format_string) // formatter = falco.formatter(format_string)
static int formatter(lua_State *ls); static int lua_formatter(lua_State *ls);
// falco.free_formatter(formatter) // falco.free_formatter(formatter)
static int free_formatter(lua_State *ls); static int lua_free_formatter(lua_State *ls);
static void free_formatters(); static void free_formatters();
// falco.free_formatters()
static int free_formatters_lua(lua_State *ls);
static string format_event(const gen_event *evt, const std::string &rule, const std::string &source, static string format_event(const gen_event *evt, const std::string &rule, const std::string &source,
const std::string &level, const std::string &format); const std::string &level, const std::string &format);
// formatted_string = falco.format_event(evt, formatter)
static int format_event_lua(lua_State *ls);
static map<string, string> resolve_tokens(const gen_event *evt, const std::string &source, static map<string, string> resolve_tokens(const gen_event *evt, const std::string &source,
const std::string &format); const std::string &format);
// resolve_tokens = falco.resolve_tokens(evt, formatter)
static int resolve_tokens_lua(lua_State *ls);
static sinsp *s_inspector; static sinsp *s_inspector;
static falco_engine *s_engine; static falco_engine *s_engine;
static sinsp_evt_formatter_cache *s_formatters; static sinsp_evt_formatter_cache *s_formatters;