From cdda369e92d7581242c0c436d76569faf9860056 Mon Sep 17 00:00:00 2001 From: Liam Wilson <37528501+liwilson1@users.noreply.github.com> Date: Fri, 27 Sep 2024 19:23:22 +1200 Subject: Add enable/disable guessing using client IP/port (#2569) Add configurable options for whether to include client port or client IP in the flow's protocol guesses. This defaults to include both client port/IP if the protocol is not guessed with the server IP/port. This is intended for when flow direction detection is enabled, so we know that sport = client port, dport = server port. --- fuzz/fuzz_config.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'fuzz/fuzz_config.cpp') diff --git a/fuzz/fuzz_config.cpp b/fuzz/fuzz_config.cpp index 0e8dda18d..69ca93489 100644 --- a/fuzz/fuzz_config.cpp +++ b/fuzz/fuzz_config.cpp @@ -309,6 +309,16 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { snprintf(cfg_value, sizeof(cfg_value), "%d", value); ndpi_set_config(ndpi_info_mod, NULL, "flow.track_payload", cfg_value); } + if(fuzzed_data.ConsumeBool()) { + value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); + snprintf(cfg_value, sizeof(cfg_value), "%d", value); + ndpi_set_config(ndpi_info_mod, NULL, "flow.use_client_ip_in_guess", cfg_value); + } + if(fuzzed_data.ConsumeBool()) { + value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); + snprintf(cfg_value, sizeof(cfg_value), "%d", value); + ndpi_set_config(ndpi_info_mod, NULL, "flow.use_client_port_in_guess", cfg_value); + } if(fuzzed_data.ConsumeBool()) { value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); snprintf(cfg_value, sizeof(cfg_value), "%d", value); -- cgit v1.2.3