From 1b3ef7d7b2dde9d58cb217d3d7fb6b14d6281153 Mon Sep 17 00:00:00 2001 From: Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> Date: Mon, 8 Apr 2024 10:24:51 +0200 Subject: STUN: improve extraction of Mapped-Address metadata (#2370) Enable parsing of Mapped-Address attribute for all STUN flows: that means that STUN classification might require more packets. Add a configuration knob to enable/disable this feature. Note that we can have (any) STUN metadata also for flows *not* classified as STUN (because of DTLS). Add support for ipv6. Restore the correct extra dissection logic for Telegram flows. --- fuzz/fuzz_config.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'fuzz') diff --git a/fuzz/fuzz_config.cpp b/fuzz/fuzz_config.cpp index 2453b469e..3654e583e 100644 --- a/fuzz/fuzz_config.cpp +++ b/fuzz/fuzz_config.cpp @@ -178,6 +178,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { sprintf(cfg_value, "%d", value); ndpi_set_config(ndpi_info_mod, "stun", "max_packets_extra_dissection", cfg_value); } + if(fuzzed_data.ConsumeBool()) { + value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); + sprintf(cfg_value, "%d", value); + ndpi_set_config(ndpi_info_mod, "stun", "metadata.attribute.mapped_address", cfg_value); + } if(fuzzed_data.ConsumeBool()) { value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); sprintf(cfg_value, "%d", value); -- cgit v1.2.3