diff --git a/CMakeLists.txt b/CMakeLists.txt index 52bbab345..57e81f4fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,6 +107,14 @@ set(VISOR_STATIC_PLUGINS) enable_testing() message(STATUS "Building pktvisor version ${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH}${VISOR_PRERELEASE}") + +# opentelemetry-cpp 1.26.0 generates proto headers with dllexport_decl=OPENTELEMETRY_PROTO_API; the Conan recipe doesn't propagate the macro. On Windows the proto package is a DLL (consumers must import); elsewhere it expands to nothing. +if(WIN32) + add_compile_definitions("OPENTELEMETRY_PROTO_API=__declspec(dllimport)") +else() + add_compile_definitions(OPENTELEMETRY_PROTO_API=) +endif() + add_subdirectory(3rd) add_subdirectory(libs) add_subdirectory(src) diff --git a/conanfile.py b/conanfile.py index c87f24cbc..017a0f72a 100644 --- a/conanfile.py +++ b/conanfile.py @@ -7,28 +7,27 @@ class Pktvisor(ConanFile): generators = "CMakeToolchain", "CMakeDeps" def requirements(self): - self.requires("catch2/3.14.0") - self.requires("cpp-httplib/0.18.3") + self.requires("catch2/3.15.1") + self.requires("cpp-httplib/0.27.0") self.requires("docopt.cpp/0.6.3") self.requires("fast-cpp-csv-parser/cci.20240102") self.requires("json-schema-validator/2.4.0") self.requires("libmaxminddb/1.12.2") - self.requires("nlohmann_json/3.11.3") - self.requires("openssl/3.6.2") + self.requires("nlohmann_json/3.12.0", force=True) + self.requires("openssl/3.6.3") if self.settings.os != "Windows": - self.requires("libpcap/1.10.5", force=True) + self.requires("libpcap/1.10.6", force=True) else: - self.requires("npcap/1.70") - self.requires("opentelemetry-cpp/1.24.0") + self.requires("npcap/1.86", force=True) + self.requires("opentelemetry-cpp/1.26.0") self.requires("pcapplusplus/25.05") self.requires("protobuf/6.33.5") self.requires("sigslot/1.2.3") - self.requires("fmt/10.2.1", force=True) - self.requires("spdlog/1.15.0") + self.requires("spdlog/1.17.0") self.requires("uvw/3.4.0") - self.requires("yaml-cpp/0.8.0") + self.requires("yaml-cpp/0.9.0") self.requires("robin-hood-hashing/3.11.5") - self.requires("libcurl/8.19.0") + self.requires("libcurl/8.20.0") if ( "libc" not in self.settings.compiler.fields or self.settings.compiler.libc != "musl" diff --git a/src/GeoDB.cpp b/src/GeoDB.cpp index a6e70a49f..bb7b02a1c 100644 --- a/src/GeoDB.cpp +++ b/src/GeoDB.cpp @@ -5,6 +5,7 @@ #include "GeoDB.h" #include #include +#include #include namespace visor::geo { diff --git a/src/InputStream.h b/src/InputStream.h index bd866922c..7225f32bd 100644 --- a/src/InputStream.h +++ b/src/InputStream.h @@ -7,6 +7,7 @@ #include "AbstractModule.h" #include "InputEventProxy.h" #include "StreamHandler.h" +#include namespace visor { diff --git a/src/StreamHandler.h b/src/StreamHandler.h index f74cc0c39..9198d62f9 100644 --- a/src/StreamHandler.h +++ b/src/StreamHandler.h @@ -10,6 +10,7 @@ #include "InputEventProxy.h" #include #include +#include #include #include diff --git a/src/handlers/dns/v1/DnsStreamHandler.cpp b/src/handlers/dns/v1/DnsStreamHandler.cpp index d10fbc09e..d027036b0 100644 --- a/src/handlers/dns/v1/DnsStreamHandler.cpp +++ b/src/handlers/dns/v1/DnsStreamHandler.cpp @@ -5,6 +5,7 @@ #include "DnsStreamHandler.h" #include "HandlerModulePlugin.h" #include "utils.h" +#include #ifdef __GNUC__ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wpedantic" diff --git a/src/handlers/dns/v2/DnsStreamHandler.cpp b/src/handlers/dns/v2/DnsStreamHandler.cpp index 78d4d1370..1f1337841 100644 --- a/src/handlers/dns/v2/DnsStreamHandler.cpp +++ b/src/handlers/dns/v2/DnsStreamHandler.cpp @@ -5,6 +5,7 @@ #include "DnsStreamHandler.h" #include "HandlerModulePlugin.h" #include "utils.h" +#include #ifdef __GNUC__ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wpedantic" diff --git a/src/inputs/netprobe/NetProbeInputStream.cpp b/src/inputs/netprobe/NetProbeInputStream.cpp index 629475bca..2f3b4a6be 100644 --- a/src/inputs/netprobe/NetProbeInputStream.cpp +++ b/src/inputs/netprobe/NetProbeInputStream.cpp @@ -7,6 +7,7 @@ #include "PingProbe.h" #include "TcpProbe.h" #include "ThreadName.h" +#include #ifdef __GNUC__ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wpedantic"