Skip to content

chore: update 3rd party libs#766

Merged
leoparente merged 12 commits intodevelopfrom
chore/update-3rd-party-libs
Apr 10, 2026
Merged

chore: update 3rd party libs#766
leoparente merged 12 commits intodevelopfrom
chore/update-3rd-party-libs

Conversation

@leoparente
Copy link
Copy Markdown
Contributor

@leoparente leoparente commented Apr 10, 2026

This pull request includes two main types of changes: updates to third-party dependencies in the Conan package configuration and a comprehensive modernization of pointer usage in the DNS layer implementation. The pointer updates replace all usages of the old C-style NULL macro with the modern C++ nullptr keyword, improving code safety and readability.

Dependency updates:

  • Updated several dependencies in conanfile.py, including catch2, json-schema-validator, libmaxminddb, openssl, pcapplusplus, sigslot, and libcurl to newer versions.

Code modernization in DNS layer:

leoparente and others added 4 commits April 9, 2026 14:45
- Fix Logger LogLevel enum: pcpp::Logger::LogLevel::Debug → pcpp::LogLevel::Debug
- Update PcapLiveDeviceList methods: getPcapLiveDeviceByIp → getDeviceByIp,
  getPcapLiveDeviceByName → getDeviceByName
- Sync visor_dns fork against pcapplusplus 25.05:
  - Fix LOG_MODULE to use pcpp:: namespace prefix (required by 25.05)
  - Replace NULL with nullptr throughout
  - Add override to virtual method overrides
  - Add = default to trivial destructors
  - Add explicit to single-argument constructors
  - Add static_assert for dnshdr size validation
  - Add const to GenericDnsResourceData uint8_t* constructor parameter
  - Fix m_ExternalRawData initialization in IDnsResource constructor

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Bump catch2 3.8.0→3.14.0, cpp-httplib 0.18.3→0.39.0
- Bump json-schema-validator 2.3.0→2.4.0, force nlohmann_json 3.12.0
- Bump libmaxminddb 1.10.0→1.12.2, nlohmann_json 3.11.3→3.12.0
- Bump openssl 3.3.2→3.6.2, opentelemetry-cpp 1.17.0→1.24.0
- Bump protobuf 5.27.0→6.33.5, sigslot 1.2.2→1.2.3
- Downgrade fmt 12.1.0→11.2.0 (fmt::join for ranges moved to <fmt/ranges.h>
  in fmt 11+; fmt 12 breaks join for non-tuple ranges entirely)
- Bump spdlog 1.15.0→1.17.0, yaml-cpp 0.8.0→0.9.0, libcurl 8.11.1→8.19.0
- Fix opentelemetry-cpp::opentelemetry_proto→opentelemetry-cpp::proto
  (target renamed in 1.24.0)
- Add <fmt/ranges.h> to GeoDB.cpp and StreamHandler.h for fmt::join

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ema-validator

json-schema-validator/2.4.0 depends on nlohmann_json/3.11.3, so using the
same version avoids the need for force=True overrides.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@leoparente leoparente requested a review from mfiedorowicz April 10, 2026 00:36
@leoparente leoparente self-assigned this Apr 10, 2026
@leoparente leoparente changed the title Chore/update 3rd party libs chore: update 3rd party libs Apr 10, 2026
mfiedorowicz
mfiedorowicz previously approved these changes Apr 10, 2026
Keep only pcapplusplus 24.09→25.05 upgrade and visor_dns modernization.
Revert all other lib version bumps, opentelemetry target rename,
and fmt/ranges.h additions to allow isolated testing of pcapplusplus upgrade.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
leoparente and others added 7 commits April 10, 2026 09:47
…ring

- Bump catch2 3.8.0→3.14.0
- Bump cpp-httplib 0.18.3→0.39.0
- Bump libmaxminddb 1.10.0→1.12.2
- yaml-cpp kept at 0.8.0 (0.9.0 causes heap corruption at process exit)
- Add MaxmindDB::disable() to allow resetting singleton state in tests
- Reset GeoIP/GeoASN singletons before "Geo enablement" section so tests
  pass regardless of Catch2 randomized execution order (new default in 3.x)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
catch2 3.14.0 breaks cross-compilation; reverted to 3.8.0.
Also revert GeoDB.h disable() and test_geoip.cpp changes that were
only needed to handle catch2 3.14.0 randomized test ordering.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both break cross-compilation; reverted to original versions:
- cpp-httplib 0.39.0 → 0.18.3
- libmaxminddb 1.12.2 → 1.10.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
catch2 3.14.0 randomizes test execution order by default (3.8.0 ran in
declaration order), exposing pre-existing singleton state issues:

- Add MaxmindDB::disable() to reset GeoIP/GeoASN singletons between tests
- Reset singletons at start of "Geo enablement" test section
- Add IpPort::set_csv_iana_ports() setup to flow test cases that depend
  on port name resolution but didn't load the CSV themselves

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- json-schema-validator 2.3.0→2.4.0
- libcurl 8.11.1→8.19.0
- sigslot 1.2.2→1.2.3
- openssl 3.3.2→3.6.2

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@leoparente leoparente requested a review from mfiedorowicz April 10, 2026 16:46
@leoparente leoparente merged commit 9d70ccc into develop Apr 10, 2026
14 of 15 checks passed
@leoparente leoparente deleted the chore/update-3rd-party-libs branch April 10, 2026 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants