aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/epan
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2022-07-19 10:24:16 -0700
committerGerald Combs <gerald@wireshark.org>2022-08-15 16:21:47 -0700
commitec1986cb97655abb0c1c7277abe0100229e2cf93 (patch)
treea66db66353bcca53a073ac84c554aab0a0abfaaa /plugins/epan
parent08feb35af00a984eee1a2cf5ae35228e1cc25814 (diff)
Falco Bridge: Update to match falcosecurity-libs 0.8.0.
Update sinsp-span to use the current Falco libs APIs. Update the FindSinsp CMake module to use pkg-config.
Diffstat (limited to 'plugins/epan')
-rw-r--r--plugins/epan/falco_bridge/CMakeLists.txt2
-rw-r--r--plugins/epan/falco_bridge/sinsp-span.cpp12
-rw-r--r--plugins/epan/falco_bridge/sinsp-span.h1
3 files changed, 7 insertions, 8 deletions
diff --git a/plugins/epan/falco_bridge/CMakeLists.txt b/plugins/epan/falco_bridge/CMakeLists.txt
index b0eb777961..384d81d2b9 100644
--- a/plugins/epan/falco_bridge/CMakeLists.txt
+++ b/plugins/epan/falco_bridge/CMakeLists.txt
@@ -52,7 +52,7 @@ target_include_directories(falco-bridge SYSTEM PRIVATE
target_link_libraries(falco-bridge
epan
- ${SINSP_LIBRARIES}
+ ${SINSP_LINK_LIBRARIES}
)
install_plugin(falco-bridge epan)
diff --git a/plugins/epan/falco_bridge/sinsp-span.cpp b/plugins/epan/falco_bridge/sinsp-span.cpp
index 4618370724..5824f1d42c 100644
--- a/plugins/epan/falco_bridge/sinsp-span.cpp
+++ b/plugins/epan/falco_bridge/sinsp-span.cpp
@@ -65,7 +65,7 @@ create_sinsp_source(sinsp_span_t *sinsp_span, const char* libname, sinsp_source_
sinsp_source_info_t *ssi = new sinsp_source_info_t();
try {
- sinsp_plugin *sp = sinsp_span->inspector.register_plugin(libname, "{}").get();
+ sinsp_plugin *sp = sinsp_span->inspector.register_plugin(libname).get();
if (sp->caps() & CAP_EXTRACTION) {
ssi->source = dynamic_cast<sinsp_plugin *>(sp);
} else {
@@ -75,6 +75,11 @@ create_sinsp_source(sinsp_span_t *sinsp_span, const char* libname, sinsp_source_
err_str = g_strdup_printf("Caught sinsp exception %s", e.what());
}
+ std::string init_err;
+ if (!ssi->source->init("{}", init_err)) {
+ err_str = g_strdup_printf("Unable to initialize %s: %s", libname, init_err.c_str());
+ }
+
if (err_str) {
delete ssi;
return err_str;
@@ -91,11 +96,6 @@ uint32_t get_sinsp_source_id(sinsp_source_info_t *ssi)
return ssi->source->id();
}
-bool init_sinsp_source(sinsp_source_info_t *ssi, const char *config)
-{
- return ssi->source->init(config);
-}
-
const char *get_sinsp_source_last_error(sinsp_source_info_t *ssi)
{
if (ssi->last_error) {
diff --git a/plugins/epan/falco_bridge/sinsp-span.h b/plugins/epan/falco_bridge/sinsp-span.h
index 290e77c49d..f436059fe5 100644
--- a/plugins/epan/falco_bridge/sinsp-span.h
+++ b/plugins/epan/falco_bridge/sinsp-span.h
@@ -65,7 +65,6 @@ char *create_sinsp_source(sinsp_span_t *sinsp_span, const char* libname, sinsp_s
// Extractor plugin routines.
// These roughly match common_plugin_info
uint32_t get_sinsp_source_id(sinsp_source_info_t *ssi);
-bool init_sinsp_source(sinsp_source_info_t *ssi, const char *config);
const char *get_sinsp_source_last_error(sinsp_source_info_t *ssi);
const char *get_sinsp_source_name(sinsp_source_info_t *ssi);
const char* get_sinsp_source_description(sinsp_source_info_t *ssi);